Android - NestedFragments участвуют в заполнении меню опций

Я реализую новую функцию вложенного фрагмента и наткнулся на проблему. мой взгляд в основном таков: (A), который включает в себя фрагмент ( B), этот фрагмент ( B) включает в себя пейджер-адаптер, который имеет 3 страницы каждого из это фрагмент ( C). ранее к новому getchildfragmentmanger это не выполнимо, но оно отлично работает. но возникла одна проблема, я хочу, чтобы фрагменты C могли участвовать в заполнении меню опций. Я устал прикладывать setHasOptionsMenu (true) к методу onActivityCreated для каждого из моих C фрагментов и переопределяя также onCreateOptionsMenu, но ничего не происходит... если я попытаюсь заполнить меню из фрагмента B (который является контейнером адаптера пейджера), я могу изменить пункты меню...

любые мысли?

Спасибо.

Ответы

Ответ 1

Да, они могут.

С поддержкой android 4.2 или поддержкой библиотеки 11 вложенных фрагментов участвуют в заполнении меню опций, так как всегда вам нужно позвонить setHasOptionsMenu(true) во время onCreate().

Но если вы используете ActionBarSherlock, они не будут, вы должны вручную вызвать из родительского фрагмента onCreateOptionsMenu() метод вложенных фрагментов onCreateOptionsMenu().

Обновить: issue

Ответ 2

Из моего прочитанного исходного кода выясняется, что реализации FragmentManager и Activity работают только с корнем FragmentManager для добавления в меню параметров/панели действий, а не с дочерними FragmentManager экземплярами.

Фрагмент B предположительно должен будет управлять меню опций/панель действий от имени содержимого ViewPager, изменяя то, что находится в меню параметров/панели действий, на основе отображаемых страниц и скрытых в пейджере.