0

我是 android 新手,我正在尝试使用 tabhost 开发一个简单的应用程序。我希望 tabhost 出现在我的所有活动中。我有 5 个标签和 6-7 个活动,我希望它们都显示在这五个标签中。

在这里,我创建了我的 tabactivity:

<?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" >

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >


    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@android:id/tabs" />

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"

         />
</RelativeLayout>

</TabHost>

在这里我添加标签:

    TabSpec tabSpec = mTabHost.newTabSpec("tab_test1");
    tabSpec.setIndicator("Map",res.getDrawable(R.drawable.world));
    Context ctx = this.getApplicationContext();
    Intent i = new Intent(ctx, DealFinderActivity.class);
    tabSpec.setContent(i); 
    mTabHost.addTab(tabSpec); 

    mTabHost.getTabWidget().setBackgroundColor(Color.GRAY);

    mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator
            ("List Deals",res.getDrawable(R.drawable.database))
            .setContent(new Intent(this,ListDeals.class)));

    //      TextView textView = (TextView) findViewById(R.id.textview3);
    //      textView.setText("hello");
    mTabHost.addTab(mTabHost.newTabSpec("tab_test3").setIndicator("Favorites",
            res.getDrawable(R.drawable.heart)).setContent(
                    new Intent(this, ListDeals.class)));

    mTabHost.addTab(mTabHost.newTabSpec("tab_test4").setIndicator("Settings",
            res.getDrawable(R.drawable.preferences)).setContent(
                    new Intent(this, DealDescription.class)));

    mTabHost.addTab(mTabHost.newTabSpec("tab_test5").setIndicator("About",
            res.getDrawable(R.drawable.newspaper)).setContent(
                    new Intent(this, DealDescription.class)));

在 ListDeals.class 我用它来改变一个新的活动:

        Intent myIntent = new Intent(getApplicationContext(), 
                DealMyAss.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        getApplication().startActivity(myIntent);

但是这里的tabview消失了??

有什么想法可以保留标签视图吗?

提前致谢

4

1 回答 1

0

ActivityGroup是您正在寻找的。

顾名思义,它在一个选项卡中嵌入了多个活动。通过例子。一个在这里

为每个选项卡创建一个 ActivityGroup。

于 2011-12-20T10:40:06.557 回答