2013-10-12 87 views
0

我有一個名爲contactsView和im設置適配器的listView,因此listview顯示聯繫人和組。針對不同適配器的Android不同選項菜單

在onCreate方法我:

contactsView.setAdapter(contactsAdapter) 

然後,我有一組按鈕,監聽器,並在該按鈕的onclick我有:

contactsView.setAdapter(groupsAdapter) 

現在我的選項菜單中的代碼如下像這樣:

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     System.out.println(contactsView.getAdapter()); 
     if (contactsView.getAdapter().equals(contactsAdapter)){ 
      getMenuInflater().inflate(R.menu.contacts_options_menu, menu); 
      return true; 
     }else if (contactsView.getAdapter().equals(groupsAdapter)){ 
      getMenuInflater().inflate(R.menu.groups_options_menu, menu); 
      return true; 
     }else{ 
      return false; 
     } 
    } 

但它不工作,我不明白爲什麼,有什麼想法?任何幫助將不勝感激,謝謝。

回答

0

一些研究,我發現在這之後...

的Android只要求onCreateOptionsMenu一次以創建inital菜單選項。如果你想在運行時改變選項菜單 - 你必須實現onPrepareOptionsMenu,當你調用invalidateOptionsMenu()的時候它會被調用。

相關問題