public void showFragmentNoBackStack(String fragmentTag, Object dataForFragment) { showFragment(fragmentTag, dataForFragment, false); } public void showFragmentAddToBackStack(String fragmentTag, Object dataForFragment) { showFragment(fragmentTag, dataForFragment, true); } public void showFragment(String fragmentTag, Object object, Boolean addToBackStack) { FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); switch (fragmentTag) { case SIMPLE_SEARCH_FRAGMENT_TAG: fragment = new SimpleSearchFragment(); break; case ADVANCED_SEARCH_FRAGMENT_TAG: fragment = new MultiSearchFragment(); break; } fragmentTransaction.replace(R.id.main_activity_container, fragment); if (addToBackStack) fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); } Then, in B, I press back and the first fragment is displayed above what should be removed. Why is that?
MainActivity:
@Override public void onBackPressed() { if (getSupportFragmentManager().getBackStackEntryCount() > 0) { getSupportFragmentManager().popBackStack(); } else { finish(); } }
addToBackStackmethod from where does itaddToBackStackfrom? - DevOma