2012-06-23 36 views

回答

4

我明白了!

您只需將條件語句添加到onCreateOptionsMenu,然後在切換選項卡時簡單地使菜單無效!希望這可以幫助別人!

條件:

public boolean onCreateOptionsMenu(Menu menu) { 
      if (getSupportActionBar().getSelectedNavigationIndex() == 1) { 
       menu.add("Share") 
       .setIcon(android.R.drawable.ic_menu_share) 
       .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); 
      } 
      if (getSupportActionBar().getSelectedNavigationIndex() == 0)) { 
       menu.add("Settings") 
      .setIcon(android.R.drawable.ic_menu_manage) 
       .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);  
      } 

      return true; 
     } 

而無效:

  invalidateOptionsMenu(); 
2

我相信你的標籤是Fragments一個FragmentActivity內。在這種情況下,您應該在標籤片段'onCreate()方法中使用setHasOptionsMenu(true)。並覆蓋片段的onCreateOptionsMenuonOptionsItemSelected

剩下的事情會爲你完成(比如在切換標籤等操作之後使actionItems失效)