(首先,我通过 HoloEverywhere 使用 ActionbarSherlock,虽然我不知道这与问题有关。)
我有一个包含三个片段的活动。每个片段都有自己的菜单项,并且它们都共享一些菜单项。我已经从 StackOverflow 了解到,不允许在 Activity 中添加菜单项,然后在 Activity 中添加更多项目Fragment
(我尝试过......它会导致奇怪的错误)。所以Activity
没有菜单,但每个片段都有。但是,我仍在尝试避免在每个片段的菜单 xml 中重复菜单条目。为此,我为每个片段提供了一个 xml 菜单和一个它们都共享的 xml 菜单。例如,我有:
fragment_1_menu.xml
fragment_2_menu.xml
all_fragments_menu.xml
并且,Fragment1
我正在尝试同时导入fragment_1_menu.xml
和all_fragments_menu.xml
:
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.all_fragments_menu, menu);
inflater.inflate(R.menu.fragment_1_menu, menu);
super.onCreateOptionsMenu(menu, inflater);
}
当我这样做时,它几乎可以工作,但就我而言,其中一个菜单项all_fragments_menu
丢失了。我并不是说它在菜单中是一个空白……我的意思是它根本没有出现在菜单中。XML ID 是唯一的,并且映射到 R.java 中的不同 int。看起来它应该工作。Fragment2
除了fragment_2_menu.xml
没有项目 外,我做同样的事情,在这种情况下,所有菜单项都按预期显示。
这应该工作吗?我只是错过了什么吗?