片段替换后仍会显示操作项

时间:2014-12-03 19:05:59

标签: android android-fragments menu android-actionbar

我使用导航抽屉 - 来自android studio 4+的项目框架 - 我在菜单中有两个片段。

包含android.support.v4.view.ViewPager的一个片段。 ViewPager包含两个片段,其中一个具有菜单。当我使用手势来更改viewpager菜单中的片段时,显示和消失取决于现在可见的片段 - 一切都是正确的。

现在当出现问题时会流动:

如果我从导航抽屉打开第一个片段并使用菜单swype到片段,然后使用导航抽屉菜单更改为第二个片段仍然出现 - 为什么?我不明白。

编辑:

如果我添加

setHasOptionsMenu(true);

@Override
public void onPrepareOptionsMenu(Menu menu) {
    menu.clear();
    super.onPrepareOptionsMenu(menu);
}

到片段不应该有菜单然后问题消失了,但我认为根本原因它在其他地方和上面的解决方案是脏的。

1 个答案:

答案 0 :(得分:3)

我知道我迟到了2年才回答,但这可能会让那些面临同样问题的程序员受益。我有同样的问题,我通过简单地调用

解决了这个问题
setHasOptionsMenu(true)
OnCreateView()

这将确保新片段具有自己的选项菜单,然后可以使用 onCreateOptionsMenu()创建。如果您不想要任何选项菜单,请避免实施 onCreateOptionsMenu()