TabActivity在选项卡更改时销毁每个选项卡的活动

时间:2011-03-31 15:55:39

标签: android tabbar

TabActivity中的问题 我的应用程序中有三个选项卡,每个选项卡都有不同的活动。 在第一个选项卡中,我有一个textfield和listview用户搜索 但是在搜索之后,用户更改了选项卡并再次返回 搜索选项卡然后清除列表和文本框。

但我想仍然是人口。 标签栏对活动的破坏程度如何?停止?暂停?我不知道 有没有办法做到这一点 感谢。

public class MainTab extends TabActivity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tab);
        TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);            

        TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
        TabSpec secondTabSpec = tabHost.newTabSpec("tid1");
        TabSpec thirdTabSpec = tabHost.newTabSpec("tid1");

        /* TabSpec setIndicator() is used to set name for the tab. */
        /* TabSpec setContent() is used to set content for a particular tab. */
        firstTabSpec.setIndicator("",getResources().getDrawable(R.drawable.search)).setContent(new Intent(this,Search.class));
        secondTabSpec.setIndicator("",getResources().getDrawable(R.drawable.manager)).setContent(new Intent(this,Manager.class));
        thirdTabSpec.setIndicator("",getResources().getDrawable(R.drawable.settings)).setContent(new Intent(this,Settings.class));

        tabHost.addTab(firstTabSpec);
        tabHost.addTab(secondTabSpec);
        tabHost.addTab(thirdTabSpec);
…………………

代码与普通tabbar所需的代码相同.... 如果我们手动保存每个类的实例我将很难在活动中有大量数据

1 个答案:

答案 0 :(得分:5)

替换以下代码,

TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
TabSpec secondTabSpec = tabHost.newTabSpec("tid1");
TabSpec thirdTabSpec = tabHost.newTabSpec("tid1");

有了这些,

TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
TabSpec secondTabSpec = tabHost.newTabSpec("tid2");
TabSpec thirdTabSpec = tabHost.newTabSpec("tid3");