如何从活动访问TabHost,即不是其中一个选项卡?
问题描述:
我有TabActivity MainTab和我所有的活动延伸BasicActivity。在BasicActivity我做了所有活动相同的菜单。如何从活动访问TabHost,即不是其中一个选项卡?
如何访问TabHost从BasicActivity在项目菜单上点击活动不是其中一个选项卡时?
现在我使用TabHost tabHost =(TabHost)getParent()。findViewById(android.R.id.tabhost); 但它只会在活动是标签之一时才起作用。
public class BasicActivity extends FragmentActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.m_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.stad:
TabHost tabHost = (TabHost) getParent().findViewById(android.R.id.tabhost);
tabHost.setCurrentTab(4);
break;
default:
return false;
}
return true;
}
}
答
创建您TabHost一个 “单身”,并与TabHost.getTabHost()访问它
private static TabHost tabHost;
protected void onCreate (Bundle savedInstanceState) {
...
tabHost = this;
...
}
public static TabHost getTabHost() {
return tabHost;
}