mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2025-10-29 03:36:21 +00:00
Fix onPrepareOptionsMenu not being called on the first tab switch (#7870)
Defer findFragmentByTag until onPageScrollStateChange (SCROLL_STATE_IDLE), as the FragmentManager isn’t ready on the first call to onPageSelected (when first switching tabs).
This commit is contained in:
parent
611bd75caa
commit
f99e097e3e
@ -23,11 +23,21 @@ public abstract class PagedToolbarFragment extends Fragment {
|
||||
return false;
|
||||
});
|
||||
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||
private int selectedPosition = 0;
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
Fragment child = getChildFragmentManager().findFragmentByTag("f" + position);
|
||||
if (child != null) {
|
||||
child.onPrepareOptionsMenu(toolbar.getMenu());
|
||||
selectedPosition = position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
super.onPageScrollStateChanged(state);
|
||||
if (state == ViewPager2.SCROLL_STATE_IDLE) {
|
||||
Fragment child = getChildFragmentManager().findFragmentByTag("f" + selectedPosition);
|
||||
if (child != null) {
|
||||
child.onPrepareOptionsMenu(toolbar.getMenu());
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user