0

I use two different Fragment replace functions. But secondly function fragment added to back stage why? How can i fix it this issue? Thanks...

First;

public static void switchScreen(Fragment fragment, String backStage) {
        FragmentTransaction fragments = mFragmentManager
                .beginTransaction()
                .setTransition(FragmentTransaction.TRANSIT_ENTER_MASK)
                .replace(R.id.screens, fragment, backStage)
                .addToBackStack(backStage);
        fragments.commitAllowingStateLoss();
    }

Second;

public static void switchScreenNoHistory(Fragment fragment, String backStage) {
    FragmentTransaction fragments = mFragmentManager
            .beginTransaction()
            .setTransition(FragmentTransaction.TRANSIT_ENTER_MASK)
            .replace(R.id.screens, fragment);
    fragments.commit();
}

And my back press button function

private void backStackControl() {
        try {
            FragmentManager fragmentManager = this.getSupportFragmentManager();
            int backFragmentCount = (fragmentManager.getBackStackEntryCount() - 1);
            if (fragmentManager.getBackStackEntryCount() <= 0 || backFragmentCount <= 0) {
                finishAffinity();
            } else {
                fragmentManager.popBackStackImmediate();
            }
        } catch (Exception e) {
            Bugsnag.notify(new Exception(e));
        }
    }
Y. Emre CETIN
  • 15
  • 1
  • 6
  • I believe [this previously asked question](https://stackoverflow.com/questions/21407574/fragments-still-added-to-backstack-without-calling-addtobackstack-why) has the answer you are seeking. Good luck :) – Matan Koby Jun 07 '17 at 13:08
  • I don't see you problem. What happens when you press the back button? – cincy_anddeveloper Jun 07 '17 at 13:26

0 Answers0