2013-10-12 126 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()的时候它会被调用。

相关问题