The menu items in the action bar are not displayed after each fresh start
of the application. I have a ViewPager holding about 5 fragments, all
having *hasSetOptionsMenu(true)* as they are adding one or more menu items
beside the one from the activity. I am using ActionBarSherlock library,
with ForcedOverflow theme to have an overflow menu on all devices
(irrespective to OS version).
What I have discovered after debugging and investigation:
- reproducible only on 2.x devices (3.x and 4.x are fine);
- onCreateOptionsMenu from FragmentActivity is called multiple times as
the menu is invalidated after each Fragment that has *
hasSetOptionsMenu(true)* is loaded into the ViewPager;
- setting *hasSetOptionsMenu(false) *to all visible fragments solves the
issue;
- issue seems to be solved with one more menu invalidation: rotating
device causes the overflow menu to appear;
- in completion to above note: the overflow menu is triggered to appear
on scrolling to another fragment only if that one has another menu item
beside the ones from the overflow menu;
- I have found an Android bug
(here<http://code.google.com/p/android/issues/detail?id=29472>)
that is describing an issue when ActionBar menu items do not appear
sometimes due to a race condition triggered by calling setCurrentPage for
the same item but neither of the two workarounds from comment #8 did helped
me (this seems to be a plausible cause as during debugging, sometimes when
holding the app for a longer times to investigate, the overflow menu was
displayed in the end);
- this could also be a ABS bug, as found two issues that might be
related to this problem:
this<https://github.com/JakeWharton/ActionBarSherlock/issues/187>and
this <https://github.com/JakeWharton/ActionBarSherlock/issues/570>.
Have you encountered this before?
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en