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
, изменяя то, что находится в меню параметров/панели действий, на основе отображаемых страниц и скрытых в пейджере.