ray*_*y20 3 android menu android-fragments android-actionbar
我正在使用导航抽屉 - 来自 android studio 4+ 的项目框架 - 并且菜单中有两个片段。
一个包含 android.support.v4.view.ViewPager 的片段。ViewPager 包含两个片段,其中之一有菜单。当我使用手势更改 viewpager 菜单中的片段显示和消失取决于现在可见的片段时 - 一切都是正确的。
现在当出现问题时就流动:
如果我从导航抽屉打开第一个片段并使用菜单切换到片段,然后使用导航抽屉菜单更改为第二个片段仍然出现 - 为什么?我无法理解。
编辑:
如果我添加
setHasOptionsMenu(true);
Run Code Online (Sandbox Code Playgroud)
和
@Override
public void onPrepareOptionsMenu(Menu menu) {
menu.clear();
super.onPrepareOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
到不应该有菜单的片段,那么问题就消失了,但我仍然认为根本原因是在其他地方,而上面的解决方案是肮脏的。
小智 5
我知道我迟到了两年才回答,但这可能会让面临同样问题的程序员受益。我遇到了同样的问题,只需拨打电话即可解决
setHasOptionsMenu(true)
Run Code Online (Sandbox Code Playgroud)
在OnCreateView()中。
这将确保新片段有自己的选项菜单,然后可以使用onCreateOptionsMenu()创建该菜单。如果您不想有任何选项菜单,请避免实现onCreateOptionsMenu()。
| 归档时间: |
|
| 查看次数: |
547 次 |
| 最近记录: |