Android如何为不同的标签添加许多菜单

时间:2013-01-25 20:32:37

标签: android android-tabhost android-tabs android-tabactivity

我有很多这样的标签:

TabHost th;
TabSpec spec;
th = (TabHost) findViewById(R.id.tabhost_template_two_tabs);
th.setup();
// all tab
spec = th.newTabSpec("All");
spec.setIndicator("All");
spec.setContent(R.id.tab_template_two_tabs_all);
th.addTab(spec);
// favorite tab
spec = th.newTabSpec("Favorite");
spec.setIndicator("Favorite");
spec.setContent(R.id.tab_template_two_tabs_favorite);
th.addTab(spec);

对于我想要添加菜单的每个标签,请问怎么样?

1 个答案:

答案 0 :(得分:1)

Tab中的每个TabHost都有一个从0开始的数字,因此您必须使用int currentTab = th.getCurrentTab();了解您现在所处的标签,然后使用{清除上一个菜单{1}}然后使用menu.clear()

添加新菜单
inflater.inflater(menuID, menu)

注意:

@Override public boolean onPrepareOptionsMenu(Menu menu) { // TODO Auto-generated method stub MenuInflater inflater = getMenuInflater(); int currentTab = th.getCurrentTab(); Toast.makeText(getApplicationContext(), currentTab+"", Toast.LENGTH_SHORT); if (currentTab == 0){ menu.clear(); inflater.inflate(R.menu.first, menu);} else{ menu.clear(); inflater.inflate(R.menu.second, menu);} return super.onPrepareOptionsMenu(menu); } 无法帮助您