У меня проблема с моими фрагментами. Я использую этот код для навигации между фрагментами:
Между "основными" фрагментами (без обратного стека, потому что я хочу, чтобы пользователь выходил, когда он нажимает назад (это работает)):
FragmentManager fragmentManager = getFragmentManager();
final FragmentTransaction ft = fragmentManager.beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_up_honeycomb, R.anim.slide_out_up_honeycomb);
ft.replace(R.id.container, NewsFragment.newInstance(position + 1), NewsFragment.class.getSimpleName());
ft.commit();
и между "внутренними" фрагментами (с бэкстеком):
FragmentTransaction ft = ((Activity) getActivity()).getFragmentManager().beginTransaction();
Fragment nextFragment = LexikonDetailFragment
.newInstance(item);
ft.setCustomAnimations(R.anim.slide_in_up_honeycomb, R.anim.slide_out_up_honeycomb);
ft.replace(R.id.container, nextFragment);
ft.addToBackStack(LexikonDetailFragment.class.getSimpleName());
ft.commit();
Но в следующем случае:
фрагмент А -> фрагмент А1
фрагмент A1 -> фрагмент B
Нажмите кнопку «Назад» (должно закрыть приложение) -> возврат к фрагменту A1
Похоже, что фрагмент A1 не удаляется из стека и остается в фоновом режиме. Я думал, что одним из возможных решений может быть установка для всех фрагментов белого фона ... но это не решит проблему, а просто скроет ее. Итак, какое может быть возможное решение?