为什么我的Android OnPrepareOptions菜单在单击菜单项时调用

为什么我的Android OnPrepareOptions菜单在单击菜单项时调用,android,menu,toolbar,Android,Menu,Toolbar,我使用onPrepareOptions菜单方法加载工具栏的菜单,因为我需要在显示不同的framgnet时更改菜单项 现在我有一个问题,当我点击更多图标显示溢出菜单时,工具栏上的菜单项改变了两倍,如图所示,有两个搜索菜单项 我对此进行了调试,发现当我单击“更多”菜单项时,onPrepareOptionsMenu方法将再次调用 这是我的密码 @Override public boolean onPrepareOptionsMenu(Menu menu) { getMenuInflater(

我使用onPrepareOptions菜单方法加载工具栏的菜单,因为我需要在显示不同的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" />


我能为此做些什么?请帮帮我!谢谢

我仍然不知道原因,但我找到了一种我认为很愚蠢的方法
menu.clear()在我为布局菜单充气之前。你的人应该有更好的方法