Android针对不同适配器的不同选项菜单

Android针对不同适配器的不同选项菜单,android,listview,adapter,Android,Listview,Adapter,我有一个名为contactsView和im设置适配器的列表视图,因此列表视图显示联系人和组 在onCreate方法中,我有: contactsView.setAdapter(contactsAdapter) 然后我有一个带有侦听器的groups按钮,在该按钮的onClick中,我有: contactsView.setAdapter(groupsAdapter) 现在,我的选项菜单代码如下所示: @Override public boolean onCreateOptionsMenu(

我有一个名为contactsView和im设置适配器的列表视图,因此列表视图显示联系人和组

在onCreate方法中,我有:

contactsView.setAdapter(contactsAdapter)
然后我有一个带有侦听器的groups按钮,在该按钮的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;
        }
    }

然而,它不工作,我不明白为什么,有什么想法吗?感谢您的帮助。

经过研究,我发现

Android只调用onCreateOptions菜单一次来创建初始选项菜单。如果要在运行时更改选项菜单,则必须实现OnPrepareOptions功能表,在调用InvalidateOptions功能表()时将调用该功能表