Question

I am getting this very weird error when trying to run my application. Due to my tabs I think. Here is the error:

11-18 14:45:27.093: E/AndroidRuntime(680): FATAL EXCEPTION: main
11-18 14:45:27.093: E/AndroidRuntime(680): java.lang.RuntimeException: Unable to start   activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}:      java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class <unknown>
11-18 14:45:27.093: E/AndroidRuntime(680):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
11-18 14:45:27.093: E/AndroidRuntime(680):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
11-18 14:45:27.093: E/AndroidRuntime(680):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
11-18 14:45:27.093: E/AndroidRuntime(680):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
11-18 14:45:27.093: E/AndroidRuntime(680):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-18 14:45:27.093: E/AndroidRuntime(680):  at android.os.Looper.loop(Looper.java:123)
11-18 14:45:27.093: E/AndroidRuntime(680):  at android.app.ActivityThread.main(ActivityThread.java:4627)
11-18 14:45:27.093: E/AndroidRuntime(680):  at java.lang.reflect.Method.invokeNative(Native Method)
11-18 14:45:27.093: E/AndroidRuntime(680):  at java.lang.reflect.Method.invoke(Method.java:521)
11-18 14:45:27.093: E/AndroidRuntime(680):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-18 14:45:27.093: E/AndroidRuntime(680):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-18 14:45:27.093: E/AndroidRuntime(680):  at dalvik.system.NativeStart.main(Native Method)
11-18 14:45:27.093: E/AndroidRuntime(680): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.laytproducts.bytes.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.laytproducts.bytes/com.la

Here is my xml file:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="#ccc" >

        <TextView
            android:id="@+id/titleTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="5dp"
            android:text="Bytes"
            android:textSize="20dp" />
    </LinearLayout>

    <TabHost
        android:id="@android:id/tabhost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/linearLayout1" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
            </TabWidget>

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

                <LinearLayout
                    android:id="@+id/tab1"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/tab2"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/tab3"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent" >
                </LinearLayout>
            </FrameLayout>
        </LinearLayout>
    </TabHost>

</RelativeLayout>

And my OnCreate method:

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tabHost = (TabHost)findViewById(android.R.id.tabhost);
tabHost.setup();

TabSpec ts = tabHost.newTabSpec("Home").setIndicator("Home").setContent(new Intent().setClass(this,MainActivity.class));
tabHost.addTab(ts);
ts = tabHost.newTabSpec("Quests").setIndicator("Quests").setContent(new Intent().setClass(this,Jobs.class));
tabHost.addTab(ts);

tabHost.setCurrentTab(0);

I have never seen this error before. For some reason my xml file is having issues inflating?

Était-ce utile?

La solution

You are creating an infinite loop by trying to load:
MainActivity with MainActivity in a tab, with MainActivity in a tab, with MainActivity in a tab, with MainActivity in a tab, with MainActivity in a tab, with MainActivity in a tab, with MainActivity in a tab, with MainActivity in a tab, with MainActivity in a tab,

This is the troublesome line:

TabSpec ts = tabHost.newTabSpec("Home").setIndicator("Home").setContent(new Intent().setClass(this,MainActivity.class));

I have the feeling your full LogCat shows the root cause is a StackOverflowException...

Anyway you need to make a new class, call it "Home", where MainActivity loads the tabs and Home is your default screen.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top