android – 片段,具有相同的菜单,在相同的布局导致重复的menuitem

我有一个布局有2个碎片.这些片段使用相同的菜单,因为我有另一个只有其中一个(在小屏幕设备中使用)的布局.

我的问题是每个片段的菜单项显示在菜单中,并且由于它们来自相同的菜单,它们被重复到彼此.我只需要显示一个片段的菜单,而不是两个.有没有可以归档这个?

或者,可能更好,创建2个不同的菜单.一个用于仅具有这些片段之一(用于小屏幕设备)的布局,另一个用于具有两个片段的布局.我该怎么做?

编辑:我使用ActionBarSherlock库进行向后兼容,我在Android 3.0模拟器上进行测试.

最佳答案
我找到了不太好的解决方案.在每个片段的onCreateOptionsMenu()中,调用menu.clear()以在放大菜单之前删除任何现有的菜单项.

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

}

这将会发布未来的问题.我可能决定为每个片段使用不同的菜单,每个菜单共享菜单项.我想我们可以在onCreateOptionsMenu()中操作菜单,但是目前我不知道如何获取与该片段相关联的菜单项,然后使用MenuInflater进行填充.

转载注明原文:android – 片段,具有相同的菜单,在相同的布局导致重复的menuitem - 代码日志