У меня так много проблем с фрагментами Android... Предположим, что мой задний стек выглядит следующим образом:
[C]
[B]
[A]
---
Нажатие кнопки "Назад" отключится Fragment C
и оставит Fragment B
в верхней части стека. Теперь, как мне поменять Fragment C
на Fragment D
при сохранении заднего стека? Примечание. Fragment B
не отображается во время операции.
[C] <- [D] [D]
[B] -----> [B]
[A] [A]
--- ---
Таким образом, нажатие кнопки "Назад" выскочит Fragment D
, а Fragment B
сверху. Fragment C
полностью удаляется из стека.
Я добавляю каждый фрагмент в стек таким образом
FragmentTransaction ft = manager.beginTransaction();
ft.replace(id, instance, getTag(instance));
ft.addToBackStack(getTag(instance));
ft.commit();
Я думал, что этого можно добиться, выполняя те же самые вызовы без addToBackStack
, но только что сделанные Fragment D
и Fragment B
перекрываются.