在点击动作栏android上隐藏/显示MenuItem

时间:2013-12-10 14:27:49

标签: android onclick android-actionbar menuitem

我一直试图让我的操作栏按钮在点击时显示,但无法让它工作。我有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);

    }

这只显示错误。有什么建议吗?

3 个答案:

答案 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