我有一个带菜单项的动作条.如何隐藏/显示该菜单项?
这就是我想做的:
MenuItem item = (MenuItem) findViewById(R.id.addAction);
item.setVisible(false);
this.invalidateOptionsMenu();
我有一个带菜单项的动作条.如何隐藏/显示该菜单项?
这就是我想做的:
MenuItem item = (MenuItem) findViewById(R.id.addAction);
item.setVisible(false);
this.invalidateOptionsMenu();
找一个MenuItem
指向这样的项目,对其调用setVisible
以调整其可见性,然后对您的活动调用invalidateOptionsMenu()
以相应地调整ActionBar菜单.
Update: A MenuItem
不是常规视图,这是布局的一部分.这很特别,完全不同.你的代码返回null
换item
,这就是导致崩溃的原因.你需要做的是:
MenuItem item = menu.findItem(R.id.addAction);
以下是您应该调用的顺序:
首先调用invalidateOptionsMenu()
,然后内部onCreateOptionsMenu(Menu)
获取对MenuItem的引用(通过调用menu.findItem()
),并在其上调用setVisible()