我一直试图让我的操作栏按钮在点击时显示,但无法让它工作。我有2个按钮,如果我点击一个,我希望另一个显示,另一个获得无敌。 这是我的代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
MenuItem brandsMenu = (MenuItem)findViewById(R.id.action_brands);
MenuItem categoryMenu = (MenuItem)findViewById(R.id.action_category);
switch (item.getItemId()) {
case R.id.action_category:
brandsMenu.setVisible(true);
return true;
case R.id.action_brands:
categoryMenu.setVisible(true);
}
这只显示错误。有什么建议吗?
答案 0 :(得分:7)
如果您想对菜单进行更改,则需要致电InvalidateOptionsMenu。
然后使用onCreateOptionsMenu
覆盖来应用这些更改。
答案 1 :(得分:2)
定义名为brandsMenu和categoryMenu的MenuItem并在onParepareOptionsMenu上初始化它们
categoryMenu = menu.findItem(R.id.action_category);
brandsMenu = menu.findItem(R.id.action_brands);
您应该能够更改categoryMenu.setVisible(true);
答案 2 :(得分:0)
您无法在菜单项上设置可见性。 您应该使选项菜单无效并仅添加您想要显示的menuItem