我可以为TabHost的每个标签设置不同的菜单

Eug*_*ene 1 android

是可以有不同的menus每个tab的TabHost?

Hei*_*upp 6

是的,你可以onCreateOptionsMenu根据标签膨胀不同的菜单

public boolean onCreateOptionsMenu(Menu menu) {
   MenuInflater inflater = getMenuInflater();
   int tab = getTabHost().getCurrentTab()
   if (tab==1)
       inflater.inflate(R.menu.main_menu, menu); 
   else
       inflater.inflate(R.menu.other_menu, menu); 
   return true;
}
Run Code Online (Sandbox Code Playgroud)

您需要为此提供不同版本的menu.xml文件res/menu.

  • 那样不行.无论如何,您将获得所有选项卡的相同菜单(然后将为每个选项卡显示当前选项卡的菜单).在每次充气菜单之前,你需要使用`onPrepareOptionsMenu`而不是`onCreateOptionsMenu`并调用`menu.clear()`. (6认同)