Popbackstack работает нормально, когда все фрагменты в последовательности добавлены в backstack, но не работает, когда одна из транзакций не добавлена в backstack.
Вот моя навигация:
1. Замените фрагмент, чтобы загрузить домашний фрагмент. Эта транзакция не добавлена в стек.
Замените фрагмент, чтобы загрузить фрагмент входа в систему. Эта транзакция добавляется в бэкстэк.
3. Замените фрагмент, чтобы загрузить фрагмент входа в систему. Эта транзакция не добавляется в бэкстэк.
Теперь, когда я нажимаю кнопку «Назад», ничего не происходит. Тогда как в идеале он должен переходить к домашнему фрагменту из фрагмента авторизации. Вот мой метод onbackpressed в основном действии:
@Override public void onBackPressed() { if(getSupportFragmentManager().getBackStackEntryCount()>0) { FragmentManager.BackStackEntry backStackEntry = getSupportFragmentManager().getBackStackEntryAt(getSupportFragmentManager().getBackStackEntryCount() - 1); String str = backStackEntry.getName(); FragmentManager fm=getSupportFragmentManager(); //getSupportFragmentManager().popBackStackImmediate(); fm.popBackStack(str, FragmentManager.POP_BACK_STACK_INCLUSIVE); } else { super.onBackPressed(); } }