android - 如何在操作栏中隐藏菜单项?

标签 android android-actionbar menuitem android-menu

我有一个带有菜单项的操作栏。如何隐藏/显示该菜单项?

这就是我想要做的:

MenuItem item = (MenuItem) findViewById(R.id.addAction);
item.setVisible(false);
this.invalidateOptionsMenu();

最佳答案

获取一个指向此类项目的 MenuItem,对其调用 setVisible 以调整其可见性,然后在您的 Activity 上调用 invalidateOptionsMenu() 以便ActionBar 菜单会相应调整。

更新: MenuItem 不是您布局中的常规 View 。它有些特别,完全不同。您的代码为 item 返回 null,这就是导致崩溃的原因。你需要做的是:

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

这是您应该调用的顺序: 首先调用 invalidateOptionsMenu(),然后在 onCreateOptionsMenu(Menu) 中获取对 MenuItem 的引用(通过调用 menu.findItem())并调用setVisible()就可以了

关于android - 如何在操作栏中隐藏菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10692755/

相关文章:

.net - 如何在菜单项 (WPF) 中使用 "&"

java - SQlite 查询 DateTime 中的不同日期

android - 上下文切换太昂贵

android - ActionBar 中可绘制的后退箭头的 ID 是什么?

android - 覆盖 ActionBarCompat 溢出弹出背景?

google-apps-script - 如何禁用 SpreadsheetApp.addMenu 项

c# - 添加到 "open recent files"

android - 我可以使用 zxing intents 修改相机预览屏幕吗?

java - 打开通知时如何更新 Activity

android - 如何更改操作栏中的选项菜单图标?