尝试在tabhost中嵌入tabhost时出现此错误
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'
tab3.java中的tabhost代码(我想要tabhost进入)
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);
这是我目前的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>
我认为问题出在页面上。
答案 0 :(得分:1)
只需更改您的布局文件,并使用此布局根据您的要求实施。
<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>
错误原因是文本视图如果您想在选项卡中使用带有文本视图的图标,则为文本视图创建另一个自定义布局,并在活动中使用此布局以获取更多详细信息 Click here