如何隐藏操作栏中的菜单项?我有一个带有menuitem的操作栏。如何隐藏/显示该菜单项?这就是我想要做的:MenuItem item = (MenuItem) findViewById(R.id.addAction);item.setVisible(false);this.invalidateOptionsMenu();
3 回答
慕村225694
TA贡献1880条经验 获得超4个赞
获取MenuItem
指向此类项目,调用setVisible
它以调整其可见性,然后调用invalidateOptionsMenu()
您的活动,以便相应地调整ActionBar菜单。
更新: A MenuItem
不是您的布局的常规视图。它的特殊之处,完全不同。你的代码返回null
了item
,并且是造成死机。你需要做的是:
MenuItem item = menu.findItem(R.id.addAction);
这是你应该调用的顺序:首先调用invalidateOptionsMenu()
然后在里面onCreateOptionsMenu(Menu)
获取对MenuItem的引用(通过调用menu.findItem()
)并调用setVisible()
它
侃侃尔雅
TA贡献1801条经验 获得超16个赞
您正尝试从活动访问菜单项,该活动无权访问范围。查找菜单项的调用将返回null,因为视图没有绑定活动或调用的布局。
菜单项与诸如“ 导航栏 ”之类的项目绑定,而“ 导航栏 ”又与相应的活动绑定。
因此,在activity()中初始化这些视图,然后使用该视图访问菜单项。
Navigation navView;navView = findViewById(R.id.navigationView);MenuItem item = navView.getMenu().findItem(R.id.item_hosting);item.setVisible(false);
- 3 回答
- 0 关注
- 524 浏览
添加回答
举报
0/150
提交
取消