如何更改Android中的标签页?

问题描述:

我有三个选项卡,每个选项卡都有自己的活动。这些选项卡如下:如何更改Android中的标签页?

Home [HomeActivity] 
Search [SearchActivity] 
Account [AccountActivity] 

我有处理主要TabHost对象主要活动,这是它的内容:

public TabHost tabHost; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
tabHost = getTabHost();  

tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Home").setContent(new Intent(this, HomeActivity.class))); 

tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("Search").setContent(new Intent(this, SearchActivity.class).putExtra("callX", true))); 
tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("Account").setContent(new Intent(this, AccountActivity.class))); 
tabHost.setCurrentTab(0); 
} 

现在我已经在搜索选项卡中的按钮,我需要它的时候被点击,无论如何,Home标签应该被激活。我想我应该在tabHost对象上调用setCurrentTab()方法,但我不知道如何在SearchActivity类中访问它?
我可能应该使用Intent为我不知道如何使用。

+0

答案:http://*.com/questions/2541802/android-switch-tabs-from-within-an-activity-within-a-tab – Luksprog 2012-02-19 14:00:39

设置的方法来我的主要类,它扩展TabActivity姑且称之为“MainActivity”

public TabHost getMyTabHost() { 
return tabHost; 
} 

然后加入我的标签活动课;

MainActivity ta = (MainActivity) this.getParent(); 
TabHost th = ta.getMyTabHost(); 
th.setCurrentTab(0); 

或遵循一个更好的形式给出at this