我有一个带有菜单项的操作栏。如何隐藏/显示该菜单项?
这就是我想要做的:
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/