android.support.v4.app.FragmentManager#addOnBackStackChangedListener ( )源码实例Demo

下面列出了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);
}
 
源代码2 项目: Wizard   文件: Wizard.java
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));
        }
    });
}