我将ActionbarSherlock与Fragments一起使用。在其中一个片段中,我在操作栏中添加了一个选项菜单项。它出现了,当我点击它时,我得到一个回调,我转移到另一个活动。当我返回此Activity时,我在Actionbar中获得了相同选项菜单项的另一个副本。我知道我可以按两个选项。两者都有效。 如何摆脱额外的菜单项?
菜单如下所示:
<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中,我试图调用
supportInvalidateOptionsMenu()
当我从活动中返回时,我移到了上面。
我错过了什么?
答案 0 :(得分:0)
您是否尝试在menu.clear()
中致电public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
?它只是一种解决方法,但它对我有用。
转到此处获取更多信息:Fragments, with the same menu, on the same layout cause duplicated menuitem