0

我将 ActionbarSherlock 与 Fragments 一起使用。在其中一个片段中,我在操作栏中添加了一个选项菜单项。它显示出来,当我单击它时,我会收到一个回调,在该回调中我移动到另一个 Activity。当我返回此活动时,我会在操作栏中获得相同选项菜单项的另一个副本。我知道有两个选项可以按。两者都有效。如何摆脱额外的菜单项?

菜单如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
    android:id="@+id/menu_scan_book"
    android:orderInCategory="100"
    android:showAsAction="ifRoom"
    android:title="@string/menu_scan_book"/>
</menu>

在我的 SherlockFragment 我有这个代码

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.scan_book_action_menu, menu);
}

在拥有我试图调用的 Fragment 的 SherlockFragmentActivity 中

支持无效选项菜单()

当我从我移到上面的活动中返回时。

我错过了什么?

4

1 回答 1

0

你试过打电话menu.clear()public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)?这只是一种解决方法,但它对我有用。

转到此处了解更多信息:具有相同菜单的片段,在相同布局上导致重复的 menuitem

于 2013-03-14T16:20:50.577 回答