Я пытаюсь сделать правильный BackStack
. Я попытался реализовать this decision. Но это не работает для меня.Android Correct Fragment BackStack
У меня есть один список в навигационном ящике и другой навигации. Поэтому, когда я несколько раз выбираю несколько списков фрагментов, я хочу, чтобы одно нажатие возвращалось в главное меню, а не возвращалось к BackStack
.
@Override
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount() == 1){
finish();
}
else {
super.onBackPressed();
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("theme", mThemeId);
}
private void replaceFragment (Fragment fragment){
String backStateName = fragment.getClass().getName();
String fragmentTag = backStateName;
FragmentManager manager = getSupportFragmentManager();
boolean fragmentPopped = manager.popBackStackImmediate(backStateName, 0);
if (!fragmentPopped && manager.findFragmentByTag(fragmentTag) == null) {
FragmentTransaction ft = manager.beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right,
R.anim.slide_back_in_left, R.anim.slide_back_out_right);
ft.replace(R.id.frgmCont, fragment);
ft.addToBackStack(backStateName);
ft.commit();
}
}
набор 'ft.addToBackStack (нуль)' для каждого фрагмента – Xcihnegn