如何在Android中更改标签?

时间:2012-02-19 13:57:06

标签: android android-intent android-tabhost

我有三个标签,每个标签都有自己的活动。选项卡如下:

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

我有一个Main Activity来处理主要的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);
}

现在我在“搜索”标签中有一个按钮,点击它时我需要它,无论如何,应该激活“主页”选项卡。我想我应该以某种方式调用setCurrentTab()对象上的tabHost方法,但我不知道如何在SearchActivity类中访问它? 我可能应该使用Intent来解决我不知道如何使用的问题。

1 个答案:

答案 0 :(得分:1)

为我的主类设置一个方法,它扩展了TabActivity,让它称之为“MainActivity”

public TabHost getMyTabHost() { 
return tabHost; 
}

然后添加我的标签活动类;

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

或遵循更好的方法at this