Android-每个TabHost选项卡都有单独的ActionBar选项菜单

Android-每个TabHost选项卡都有单独的ActionBar选项菜单,android,boolean,Android,Boolean,我正在制作一个web浏览器,它有四个选项卡,这些选项卡都是使用tab host完成的,我需要为每个选项卡提供一个单独的选项菜单。 我该怎么做呢?使用布尔值 谢谢大家! 编辑选项卡的工作方式 TabHost th = (TabHost) findViewById (R.id.tabHost); th.setup(); TabSpec specs = th.newTabSpec("Tab1"); specs.setContent(R.id.tab1); specs.

我正在制作一个web浏览器,它有四个选项卡,这些选项卡都是使用tab host完成的,我需要为每个选项卡提供一个单独的选项菜单。 我该怎么做呢?使用布尔值

谢谢大家!

编辑选项卡的工作方式

TabHost th = (TabHost) findViewById (R.id.tabHost);

    th.setup();
    TabSpec specs = th.newTabSpec("Tab1");
    specs.setContent(R.id.tab1);
    specs.setIndicator("Tab 1");
    th.setCurrentTab(1);
    th.addTab(specs);
当用户更改到另一个选项卡时,可以使用获取回调。根据选项卡ID,可以操作选项菜单

需要更改菜单时,请致电。然后,将被调用。然后,可以对另一个menu.xml进行充气。或者,您也可以等待对的后续调用,并通过切换单个菜单项的可见性

示例:尚未对其进行测试,但它应该或多或少能正常工作


@蒂姆:谢谢,但我没有使用碎片。我会编辑我是如何做的标签。你好,谢谢你的帮助!我有点困惑,你能给我举一个第一种方法的例子吗?我加了一个例子。请记住,根据您的目标API级别,您需要包括支持库。如果是这样,方法调用将是SupportInvalidateOptions菜单和getSupportMenuInflater。
private static final String TAB_1 = "tab1";
private static final String TAB_2 = "tab2";

private TabHost mTabHost;

private final TabHost.OnTabChangeListener onTabChangedListener = new TabHost.OnTabChangeListener {
    public void onTabChanged(String tabId){
        invalidateOptionsMenu();
    }
};

public void onCreate(Bundle b){
    TabHost mTabHost = (TabHost) findViewById (R.id.tabHost);
    // ...
    mTabHost.setOnTabChangedListener(onTabChangedListener);
    mTabHost.setCurrentTabByTag(TAB_1);
}

public boolean onCreateOptionsMenu(Menu menu){
    final String currentTab = mTabHost.getCurrentTabTag();

    if(TAB_1.equals(currentTab)){
        getMenuInflater().inflate(R.menu.main_tab1.xml, menu);
    } else if(TAB_2.equals(currentTab)){
        getMenuInflater().inflate(R.menu.main_tab2.xml, menu);
    }
}