下面列出了android.support.v4.app.FragmentManager#addOnBackStackChangedListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public BrowsingActivityNavigationControllerSinglePane(int oldPanNumbers, @NonNull FragmentManager fragmentManager, boolean fromRotation, BrowsingActivity browsingActivity, @NonNull BottomNavigationView bottomNavigationView, @NonNull BrowsingActivityControllerListener listener) {
super(oldPanNumbers, fragmentManager, fromRotation, browsingActivity, bottomNavigationView, listener);
paneNumber = 1;
backStackChangedListener = () -> {
if (fragmentManager.getBackStackEntryCount() == 0) {
bottomNavigationView.setVisibility(View.VISIBLE);
listener.setUpNavigation(false);
} else {
bottomNavigationView.setVisibility(View.GONE);
listener.setUpNavigation(true);
}
};
fragmentManager.addOnBackStackChangedListener(backStackChangedListener);
}
public void init() {
if (!activity.isFinishing()) {
FragmentManager fragmentManager = activity.getSupportFragmentManager();
fragmentManager.addOnBackStackChangedListener(this);
WizardPage firstPage = pages[0];
fragmentManager.beginTransaction().replace(containerId, firstPage.createFragment()).commit();
fragmentManager.executePendingTransactions();
if (firstPage.hasOptionMenu()) {
activity.supportInvalidateOptionsMenu();
}
firstPage.setupActionBar(actionBarResolver.getSupportActionBar());
}
}
private void addOnBackStackChangedListener() {
final FragmentManager supportFragmentManager = mainActivity.getSupportFragmentManager();
supportFragmentManager.addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
Fragment currentFragment = supportFragmentManager.findFragmentById(R.id.fragment_container);
bus.post(new BackStackChangedEvent(currentFragment));
}
});
}