Android:无论菜单项如何,都隐藏操作栏菜单视图

时间:2014-09-10 15:03:32

标签: android menu android-actionbar navigation-drawer

我正在使用导航抽屉在片段之间切换。 我的动作栏菜单项与片段有所不同。

我想在打开抽屉时隐藏菜单项视图。 参考文档,它建议按ID查找菜单项并隐藏项目。 但是,我的菜单项与片段不同,因此,如何在操作栏上隐藏/显示菜单项视图?是否有一些旗帜来控制它?

顺便说一句,我在DOC中看到它说我可以在onPrepareOptionsMenu()中返回false以使其不显示,但是我尝试并最终徒劳无功。我误解了吗?

public boolean onPrepareOptionsMenu (Menu menu)

在API级别1中添加 准备要显示的屏幕标准选项菜单。每次显示菜单时都会调用此菜单。您可以使用此方法有效地启用/禁用项目或以其他方式动态修改内容。 默认实现基于活动的状态更新系统菜单项。派生类应始终调用基类实现。

参数 菜单最后显示的选项菜单或首先由onCreateOptionsMenu()初始化的选项菜单。

返回 您必须返回true才能显示菜单;如果你返回false,它将不会显示。

1 个答案:

答案 0 :(得分:0)

如果有人仍在访问该链接,我们就会禁用片段的选项菜单或选项菜单项。

1)在片段的onCreateView()方法中添加以下代码

 setHasOptionsMenu(true);// then only we can work with the menu items.Without this onPrepareOptionsMenu() method is not called
 .

现在覆盖onPreparedOptionsMenu()方法并隐藏菜单项。如果隐藏所有菜单项,则根本不会显示菜单。或使用menu.clear()清除所有菜单项

@Override
    public void onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);
        menu.findItem(R.id.menu_contacts).setVisible(false);
        --------------
        }