i am implementing the new nested fragment feature and had stumble into a problem. my view is basically this: a main activity(A) that includes a fragment(B), this fragment(B) includes a pager adapter that has 3 pages each of them is a fragment(C) also. previously to the new getchildfragmentmanger this was not doable, but it works perfectly. but one issue did arise, i want fragments C to be able to participate in populating the option menu. i tired putting setHasOptionsMenu(true) in the onActivityCreated method on each of my C fragments and overriding also onCreateOptionsMenu but nothing happens... if i try to populate the menu from fragment B (which is the container of the pager adapter) i can change the menu items...
any thoughts ?
Thanks.
Yes they can.
With android 4.2 or support library revisiion 11 nested fragments participate in populating options menu, as allways you need to call setHasOptionsMenu(true)
during onCreate()
.
But if you are using ActionBarSherlock they won't, you have to manually call from parent fragment onCreateOptionsMenu()
nested fragment method onCreateOptionsMenu()
.
Update: issue
From my read of the source code, it appears that the implementations of FragmentManager
and Activity
only work with the root FragmentManager
for adding to the options menu/action bar, not and child FragmentManager
instances.
Fragment B presumably will need to manage the options menu/action bar on behalf of the contents of the ViewPager
, changing what is in the options menu/action bar based upon the pages being shown and hidden in the pager.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With