为了账号安全,请及时绑定邮箱和手机立即绑定

如何隐藏操作栏中的菜单项?

如何隐藏操作栏中的菜单项?

慕村9548890 2019-08-24 16:52:58
如何隐藏操作栏中的菜单项?我有一个带有menuitem的操作栏。如何隐藏/显示该菜单项?这就是我想要做的:MenuItem item = (MenuItem) findViewById(R.id.addAction);item.setVisible(false);this.invalidateOptionsMenu();
查看完整描述

3 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

获取MenuItem指向此类项目,调用setVisible它以调整其可见性,然后调用invalidateOptionsMenu()您的活动,以便相应地调整ActionBar菜单。

更新: A MenuItem不是您的布局的常规视图。它的特殊之处,完全不同。你的代码返回nullitem,并且是造成死机。你需要做的是:

MenuItem item = menu.findItem(R.id.addAction);

这是你应该调用的顺序:首先调用invalidateOptionsMenu()然后在里面onCreateOptionsMenu(Menu)获取对MenuItem的引用(通过调用menu.findItem())并调用setVisible()


查看完整回答
反对 回复 2019-08-24
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

您正尝试从活动访问菜单项,该活动无权访问范围。查找菜单项的调用将返回null,因为视图没有绑定活动或调用的布局

菜单项与诸如“ 导航栏 ”之类的项目绑定,而“ 导航栏 ”又与相应的活动绑定。

因此,在activity()中初始化这些视图,然后使用该视图访问菜单项。

Navigation navView;navView = findViewById(R.id.navigationView);MenuItem item = navView.getMenu().findItem(R.id.item_hosting);item.setVisible(false);


查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 486 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信