Mark James
Mark James

Reputation: 481

Tabhost within Tabhost throwing runtime error (Your content must have a TabHost whose id attribute is 'android.R.id.tabhost')

When attempting to embed a tabhost in a tabhost I get this error

ava.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.tabdemo/com.example.tabdemo.Tab3Activity}: java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'

My tabhost code from the tab3.java (were I want to tabhost to be in)

TabHost tabHost = getTabHost();


        // Tab for login
        TabHost.TabSpec Login = tabHost.newTabSpec("Login2");
        // setting Title and Icon for the Tab

        Login.setIndicator("", getApplicationContext().getResources().getDrawable(R.drawable.drawtab1));
        Intent LoginIntent = new Intent(this, tab1InnerActivity.class);
        LoginIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        Login.setContent(LoginIntent);

        tabHost.addTab(Login);

This is my current tab3.xml

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

<LinearLayout

    android:layout_width="match_parent"
    android:layout_height="match_parent"
     android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="16dp"
    android:background="#00547d"
  >



    <TextView
        android:id="@+id/Job_Number_Label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Job Number"
        android:textSize="20dp"  
        android:textColor="#ffffff" />


 </LinearLayout>
 </ScrollView>

I have think issue is with the page.

Upvotes: 0

Views: 54

Answers (1)

Mohammad Arman
Mohammad Arman

Reputation: 508

Just Change Your Layout File and implement according to Your Requirement using this Layout.

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background">
<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp">

    <LinearLayout

        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dp">
        <ScrollView
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
        </ScrollView>
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />




    </LinearLayout>

</LinearLayout>

Cause of Error is Text View If u want to use icon with Text View in Tab then create another custom layout for your Text View and use this Layout in Your Activity for more details Click here

Upvotes: 1

Related Questions