我使用onPrepareOptionsMenu方法加载工具栏的菜单,因为当我显示不同的framgnet时,我需要更改菜单项。
现在我有一个问题,当我点击更多图标显示溢出菜单时,工具栏上的菜单项会改变两个双,如图所示,有两个搜索菜单项
我为此调试了,我发现当我点击更多菜单项时,onPrepareOptionsMenu
方法将再次调用。
这是我的代码
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_selection, menu);
MenuItem item = menu.findItem(R.id.action_search);
mSearchView.setMenuItem(item);
return true;
}
我的菜单xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:id="@+id/action_search"
android:icon="@drawable/icon_menu_search"
android:orderInCategory="100"
android:title="@string/menu_hint_search"
app:showAsAction="always" />
<item
android:id="@+id/action_share_selection"
android:orderInCategory="101"
android:title="@string/menu_hint_share"
app:showAsAction="never" />
<item
android:id="@+id/action_feedback_selection"
android:orderInCategory="102"
android:title="@string/menu_hint_feedback"
app:showAsAction="never" />
我能为此做些什么?请帮忙! THX!
答案 0 :(得分:0)
我仍然没有理由,但我找到了一种方式,我觉得它是愚蠢的我是谁
在我给布局菜单充气之前menu.clear();
。你的任何人都应该有更好的实施方式。