Android - NestedFragments参与填充选项菜单

时间:2012-12-09 12:14:29

标签: android-fragments fragmentpageradapter

我正在实现新的嵌套片段功能,并且遇到了问题。 我的观点基本上是这样的: 主要活动( A )包含一个片段( B ),此片段( B )包含一个寻呼机适配器,每个都有3个页面它们也是一个片段( C )。 以前到新的getchildfragmentmanger这是不可行的,但它完美无缺。 但确实出现了一个问题,我希望片段C能够参与填充选项菜单。 我厌倦了在onActivityCreated方法中将setHasOptionsMenu(true)放在我的每个 C 片段上,并覆盖onCreateOptionsMenu但没有任何反应...... 如果我尝试从片段 B (这是寻呼机适配器的容器)填充菜单,我可以更改菜单项......

有什么想法吗?

感谢。

2 个答案:

答案 0 :(得分:16)

是的,他们可以。

使用android 4.2或支持库修改11嵌套片段参与填充选项菜单,因为总是需要在setHasOptionsMenu(true)期间调用onCreate()

但是如果您使用的是ActionBarSherlock,则必须手动调用父片段onCreateOptionsMenu()嵌套片段方法onCreateOptionsMenu()

更新issue

答案 1 :(得分:11)

从我对源代码的阅读中可以看出,FragmentManagerActivity的实现仅适用于根FragmentManager以添加到选项菜单/操作栏,而不是子FragmentManager个实例。

片段B可能需要代表ViewPager的内容管理选项菜单/操作栏,根据在寻呼机中显示和隐藏的页面更改选项菜单/操作栏中的内容