Android 不同片段选项卡的不同菜单

Android 不同片段选项卡的不同菜单,android,android-fragments,menu,Android,Android Fragments,Menu,说明: 1) 我有一个包含一个片段的活动。我有时会用菜单替换这个片段。(一级) 2) 其中一个片段是tabFragments。它包含一个片段,但当用户单击选项卡时,可以替换该片段。(二级) 我使用安卓4.0 我的问题是: 如何在ActionBar中设置RootActivity的“常规”菜单+tabfragment的“普通”菜单+tabfragment中的另一个片段菜单? 事实上,当我在第一级中的片段之间切换时,菜单会正确更新,但当我转到第二级时,菜单会保留来自另一个第二级片段的项。当我回到另一个

说明: 1) 我有一个包含一个片段的活动。我有时会用菜单替换这个片段。(一级) 2) 其中一个片段是tabFragments。它包含一个片段,但当用户单击选项卡时,可以替换该片段。(二级)

我使用安卓4.0

我的问题是: 如何在ActionBar中设置RootActivity的“常规”菜单+tabfragment的“普通”菜单+tabfragment中的另一个片段菜单? 事实上,当我在第一级中的片段之间切换时,菜单会正确更新,但当我转到第二级时,菜单会保留来自另一个第二级片段的项。当我回到另一个一级片段时,我仍然有一个二级片段的菜单

编辑:

一级碎片(TabFragment)

二级碎片:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    // Inflate Menu below;
    inflater.inflate(R.menu.menu_intervention_inventaire, menu);
}
这是可能的

在片段的
onCreate
方法调用
SethasOptions菜单(true)
。对您的子片段执行相同的操作

然后覆盖创建选项菜单上的
和选中的选项项

不要忘记从片段中调用super.onCreateOptions菜单

将常用菜单项放入活动中。以及相应片段中的其他项目


编辑:您应该为您的子片段使用。它可以在支持库中找到。

是的,它们都有setHasOptions菜单(true),我覆盖了CreateOptionMenu和OnOptions ItemSelected。OnSelected很好用,但不是onCreate。你的super和inflate或inflate和super顺序是什么?你能为你的片段发布OnCreateOptions菜单的代码吗?你也在为子片段(2级片段)使用ChildFragmentManager吗?我可以,因为我使用Api16及以上版本和ChildFragment。。。是Api17和以上,但也许我可以切换到Api17。我看看。我刚刚编辑了我的帖子
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    // Inflate Menu below;
    inflater.inflate(R.menu.menu_intervention_inventaire, menu);
}