我有一个名为contactsView和im设置适配器的listView,因此listview显示联系人和组。
在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 :(得分:0)
Android只调用onCreateOptionsMenu ONCE来创建初始选项菜单。如果要在运行时更改选项菜单 - 必须实现onPrepareOptionsMenu,当调用invalidateOptionsMenu()时将调用它。