scenerio是这样的。目前我正在使用以下代码
TabSpec setContent = tabhost.newTabSpec("tab")
.setIndicator("tabview")
.setContent(new Intent(tabhost.getContext(), someActivity.class));
但我被告知每个标签不应与某个活动相关联,我们必须遵循这样的代码。
TabSpec setContent = tabhost.newTabSpec("tab").setIndicator("tabView").setContent(R.id.layout)
考虑一个场景,其中tab1调用camera app,tab2解析XML,tab3执行其他一些显示工作。我该如何解决这个问题?因为一旦标签被更改,我必须调用这些方法。如何创建单个活动并为其分配所有职责?
答案 0 :(得分:0)
您可以使用仅显示视图的标签创建单个活动。唯一的问题是必须在标记内定义视图。
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView
android:id="@+id/list1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
<ListView
android:id="@+id/list2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" />
</FrameLayout>
然后,当你在TabActivity中的onCreate里面时:
TabHost tabs = getTabHost();
TabHost.TabSpec commentsTab = tabs.newTabSpec(TAB_TAG_1);
tabs.addTab(commentsTab.setContent(R.id.list1));
TabHost.TabSpec infoTab = tabs.newTabSpec(TAB_TAG_2);
tabs.addTab(infoTab.setContent(R.id.list2));
请注意,为了空间利益,我没有为任何一个标签指定指标。