2010-06-25 80 views
6

我有一个TabActivity,其中包含4个活动。我的代码将第二个选项卡作为当前选项卡:如何防止在TabActivity的第一个选项卡上启动活动?

public class MyTabActivity extends TabActivity { 
    TabHost tabHost = getTabHost(); 
    TabHost.TabSpec spec; // Resusable TabSpec for each tab 
    Intent intent; // Reusable Intent for each tab 

    TextView tabView; 

    // Create an Intent to launch an Activity for the tab (to be reused) 
    intent = new Intent().setClass(this, Activity1.class); 

    spec = tabHost.newTabSpec("Tab 1"); 
    spec.setContent(intent); 
    tabView = (TextView) inflater.inflate(R.layout.ff_tab_indicator, null); 
    tabView.setText("Tab 1"); 
    spec.setIndicator(tabView); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Activity2.class); 
    spec = tabHost.newTabSpec("Tab 2"); 
    spec.setContent(intent); 
    tabView = (TextView) inflater.inflate(R.layout.ff_tab_indicator, null); 
    tabView.setText("Tab 2"); 
    spec.setIndicator(tabView); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Activity3.class); 
    spec = tabHost.newTabSpec("Tab 3"); 
    spec.setContent(intent); 
    tabView = (TextView) inflater.inflate(R.layout.ff_tab_indicator, null); 
    tabView.setText("Tab 3"); 
    spec.setIndicator(tabView); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Activity4.class); 
    spec = tabHost.newTabSpec("Tab 4"); 
    spec.setContent(intent); 
    tabView = (TextView) inflater.inflate(R.layout.ff_tab_indicator, null); 
    tabView.setText("Tab 4"); 
    spec.setIndicator(tabView); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(1); 
} 

的问题是,在MyTabActivity启动时,它开始在第一个选项卡均具有活性,并在第二个选项卡的活动。我只是希望它在第二个选项卡中启动活动,因为它被设置为当前选项卡。我该怎么办?

谢谢。

+1

@kknight:除了不使用活动选项卡的内容? – CommonsWare 2010-06-25 22:44:20

+0

@kknight:你想做什么? – Macarse 2010-06-26 21:45:49

+0

我只想将选项卡2设置为默认选项卡。当选项卡活动开始时,只有选项卡2中的活动开始。目前,如果我将选项卡2设置为默认当前选项卡,则Android将在选项卡1中启动活动并在选项卡2中启动活动。 – user256239 2010-06-26 22:28:19

回答

1

如何重新排列标签,使默认成为第一个?

+0

确实。这是一个解决方案。不知道每次应用程序启动时,我都想改变UI布局的顺序。有点混乱的XP IMO。 – typeoneerror 2011-02-20 08:26:18

3

试试这个:

tabHost.setCurrentTab(0); 
相关问题