繁体   English   中英

仅在显示片段时显示导航抽屉菜单项

[英]Show navigation drawer menu item only when a Fragment is shown

我试图在显示片段时在操作栏中显示按钮,并在显示其他片段时隐藏按钮。

我重写onCreateOptionsMenu方法:

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.main, menu);
        MenuItem item= menu.findItem(R.id.action_example);

         item.setVisible(true);

        super.onCreateOptionsMenu(menu,inflater);
    }

并使用setHasOptionMenu(true)

@Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setHasOptionsMenu(true);
        }

我进行了测试,发现按钮最初没有出现在另一个Fragment中,但是在打开将代码放在上面的Fragment之后,按钮也显示在另一个Fragment中。

您缺少的是删除片段的onDestroy中的optionsMenu。 您描述的行为与代码是合乎逻辑的:创建片段时,您还会创建选项菜单。 当片段被销毁时,它不会自动销毁。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM