2013-12-10 102 views
3

我一直試圖讓我的操作欄按鈕顯示在點擊上,但無法讓它工作。我有2個按鈕,如果我點擊一個我想要另一個顯示,另一個獲得invinsible。 這裏是我的代碼:隱藏/顯示單擊操作欄上的MenuItem android

@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); 

    } 

這隻顯示錯誤。有什麼建議麼?

回答

7

如果要更改菜單,則需要撥打InvalidateOptionsMenu

然後使用onCreateOptionsMenu覆蓋來應用這些更改。

+3

如果使用支持庫,調用'supportInvalidateOptionsMenu()'代替 –

0

您無法在菜單項上設置可見性。 您應該使選項菜單無效並僅添加要顯示的菜單項

2

定義的MenuItems命名brandsMenu和categoryMenu並進行初始化onPrepareOptionsMenu

categoryMenu = menu.findItem(R.id.action_category); 
brandsMenu = menu.findItem(R.id.action_brands); 

你應該能夠改變的可見性,如categoryMenu.setVisible(true);