我想要以级联方式显示一些信息,并希望以制表方式显示。
所以我的想法是将TabHost嵌入另一个父TabHost的一个标签中。
我可以使用一层TabHost工作,但当我尝试将另一个TabHost添加到其中一个选项卡时,它总是会出现以下错误:
找不到与给定名称匹配的资源('id'的值为'@ forroid:id / tabhostDiagnosis
之前有人遇到过同样的问题吗?
这是我的代码(删除了冗余部分)
<?xml version="1.0" encoding="utf-8"?>
<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">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:id="@+id/Diagnosis">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- -->
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhostDiagnosis"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<!-- -->
<TabWidget android:id="@android:id/tabsDiagnosis"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<FrameLayout android:id="@android:id/tabcontentDiagnosis"
android:layout_width="fill_parent" android:layout_height="fill_parent">
</FrameLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
</ScrollView>
</FrameLayout>
</LinearLayout>
</TabHost>
答案 0 :(得分:1)
我为TabHost研究了the source code。
它将直接通过R.id.x引用TabWidget(或FrameLayout)。
mTabWidget = (TabWidget) findViewById(com.android.internal.R.id.tabs);
这基本上不会将TabHost嵌入另一个。
所以答案是不行的。
答案 1 :(得分:0)
您可以在选项卡选择时启动另一个活动,可以实例化新的TabHost / TabWidget等。