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

时间:2014-06-02 14:30:22

标签: android android-fragments menu

描述: 1)我有一个包含一个片段的Activity。我有时用菜单替换这个片段。 (第一级) 2)其中一个片段是tabFragments。它包含一个片段,但用户单击选项卡时可以替换此片段。 (二级)

我使用Android超过4.0。

我的问题是: 我怎么能拥有" General" RootActivity的菜单+ a"正常"我的tabfragment的菜单+ TabFragment中我的片段的另一个菜单,都在ActionBar中? 实际上,当我在FirstLevel中切换片段时,菜单会正确更新,但是当我进入第二级时,菜单会保留其他第二级片段中的项目。当我回到其他第一级片段时,我仍然有来自二级片段的菜单。

修改:

第一级片段(TabFragment)

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.menu_intervention, menu);
        super.onCreateOptionsMenu(menu, inflater);
        // Inflate Menu below;
    }

二级片段:

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

1 个答案:

答案 0 :(得分:2)

有可能。

在您的片段onCreate方法调用中setHasOptionsMenu(true)。为您的孩子片段做同样的事。

然后覆盖onCreateOptionsMenuonOptionsItemSelected

不要忘记从你的片段中拨打super.onCreateOptionsMenu

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

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