android tabhost同样的活动

时间:2011-02-10 11:46:38

标签: android android-tabhost

我要创建一个显示统计信息的活动。我计划使用带有两个选项卡的TabHost,第一个显示表中的数据,第二个选项卡使用webview显示相同数据的js图。 因此,由于它们共享相同的数据和所有内容,我认为最简单的方法是创建一个活动/类,然后使用视图。但是,我很高兴能得到一些如何做到这一点的好例子。我所发现的就是它是如何通过不同的活动以相反的方式完成的。

此致

1 个答案:

答案 0 :(得分:0)

这是TabHost的示例XML文件:

<RelativeLayout android:id="@+id/tabhost1" style="?left_half_tabhost_holder">
    <TabHost style="?tabhost"
        <RelativeLayout style="?tabhost_countainer">
            <FrameLayout style="?tab_content">
                <ScrollView android:id="@+id/tab1" style="?tabtype_scrollview">
                    <ImageView style="?tab_content_mockup_map" android:onClick="onClickMap" />
                </ScrollView>
                <ScrollView android:id="@+id/tab2" style="?tabtype_scrollview">
                    <ImageView style="?tab_content_mockup_email" android:onClick="onClickMessages" />
                </ScrollView>
                <ScrollView android:id="@+id/tab3" style="?tabtype_scrollview">
                    <ImageView style="?tab_content_mockup_workload" android:onClick="onClickWorkload" />
                </ScrollView>
            </FrameLayout>
            <TabWidget style="?tabwidget" />
        </RelativeLayout>
    </TabHost>
</RelativeLayout>

设置标签的代码:

private void SetupMainTabHost()
{
    View v = null;

    v = findViewById(R.id.tabhost1);
    mMainTabhost = (TabHost) v.findViewById(android.R.id.tabhost);

    mMainTabhost.setup();
    TabSpec spec = mMainTabhost.newTabSpec("tab1");
    spec.setContent(R.id.tab1);
    // getString(R.string.settings_tab_caption_1)
    spec.setIndicator(getString(R.string.maptabtitle));
    mMainTabhost.addTab(spec);
    spec = mMainTabhost.newTabSpec("tab2");
    spec.setContent(R.id.tab2);
    spec.setIndicator(getString(R.string.messagetabtitle));
    mMainTabhost.addTab(spec);
    spec = mMainTabhost.newTabSpec("tab3");
    spec.setContent(R.id.tab3);
    spec.setIndicator(getString(R.string.workloadtabtitle));
    mMainTabhost.addTab(spec);
}

希望这有帮助。