onPrepareOptionsMenu没有被片段调用,怎么办?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (132)
    @Override
    public void onCreateOptionsMenu(Menu menu,MenuInflater inflater){
        Log.d("Does", "get called");
        inflater.inflate(R.menu.menuItem, menu);
        super.onCreateOptionsMenu(menu,inflater);
    }

    @Override
    public void onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);
        getActivity().invalidateOptionsMenu();
        MenuItem filter = menu.findItem(R.id.section);

        filter.setVisible(false);

    }

我试图以片段的形式加载我的菜单,它会被丢弃,我需要隐藏一些菜单项。

提问于
用户回答回答于

只需从您的片段调用getActivity().invalidateOptionsMenu()即可。

用户回答回答于

在android 3.0及更高版本上,当菜单项显示在操作栏中时,选项菜单被认为总是打开的。当一个事件发生并且您想要执行菜单更新时,您必须调用invalidateOptionsMenu()来请求系统调用onPrepareOptionsMenu()。

http://developer.android.com/guide/topics/ui/menus.html

若要更改特定项目的用途:menu.findItem(R.id.your_item_id)

所属标签

可能回答问题的人

  • 天使的炫翼

    15 粉丝531 提问35 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    48 粉丝0 提问27 回答
  • 富有想象力的人

    2 粉丝0 提问26 回答
  • 发条丶魔灵1

    6 粉丝525 提问25 回答

扫码关注云+社区

领取腾讯云代金券