2013-02-14 53 views
9

你好Android開發者,的Android - 刷新選項菜單,而無需調用invalidateOptionsMenu()

我所看到的關於選項菜單的更新了很多問題。但是,每個答案都說我必須撥打invalidateOptionsMenu()

我的問題是,是否有任何其他方式更新選項菜單,而無需調用方法invalidateOptionsMenu()

+2

的問題是有沒有理由不使用'invalidateOptionsMenu()'?這正是它的存在...... – kcoppock 2013-02-14 03:46:21

+0

我創建了一個擴展Activity的classA。創建了擴展classA的classB。 classC(調用我的XML活動)擴展了classC。 – 2013-02-14 03:50:20

+0

請參閱http://stackoverflow.com/a/11699930/597657 – 2013-02-14 03:53:04

回答

17
@Override 
    public boolean onPrepareOptionsMenu(Menu menu) { 

     menu.clear(); // Clear the menu first 

      /* Add the menu items */ 

     return super.onPrepareOptionsMenu(menu); 
    } 

這解決有關更新OptionsMenu而不調用invalidateOptionsMenu()

+0

invalidateOptionsMenu在操作欄中調用onItemSelected的微調,我必須爲此嘗試! – 2013-10-16 06:04:44

+0

這個作品!我不能使用invalidateOptionsMenu,因爲在調用之後,假設在長時間按下菜單項圖標後顯示的Toast不再起作用 – Bruce 2016-04-26 14:34:26