0

我有一个名为 contactsView 的 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;
        }
    }

但是它不起作用,我不明白为什么,有什么想法吗?任何帮助将不胜感激,谢谢。

4

1 回答 1

0

经过一番研究,我发现了这个......

Android 只调用一次 onCreateOptionsMenu 来创建初始选项菜单。如果您想在运行时更改选项菜单 - 您必须实现 onPrepareOptionsMenu,它会在您调用 invalidateOptionsMenu() 时被调用。

于 2013-10-12T02:30:57.620 回答