Android: Как изменить стек FragmentManager при возврате назад (вставить новый фрагмент)?Android

Форум для тех, кто программирует под Android
Anonymous
Android: Как изменить стек FragmentManager при возврате назад (вставить новый фрагмент)?

Сообщение Anonymous »

Я пытаюсь добавить представление в стек фрагментов без каких-либо видимых указаний на то, что это произошло, поэтому оно появляется при возврате назад.
Например,
3 фрагмента, A, B и C
A -> C
Затем, возвращаясь НАЗАД из C, я хочу, чтобы B появился (т. е. мы «пропустили» его)
C -> B -> A
Моя проблема в том, что все они должны быть совместимы с backstack + анимацией.
Я могу показать B, перехватив обратное событие и выполнив транзакцию фрагмента, чтобы заменить C на B (и инвертировать анимацию, чтобы она «входила», как будто C выскочил), но затем возвращение назад меняет это, поэтому я застреваю в цикле C -> B -> C -> B.
Я сначала пытаюсь вызвать PopBackstack, прежде чем выполняет транзакцию, но затем C просто «исчезает» при входе B - но затем возврат из B -> A работает нормально.
  • В качестве альтернативы, лучше ли как-то добавить B + C одновременно при переходе от A -> C, и если да, то как лучше всего это сделать, чтобы с обратным стеком тоже все было в порядке? Имея в виду, B не должен быть видимым, поэтому визуально он анимируется от A -> C.
  • Иначе, есть ли идеи по добавлению фрагмента в стек при возвращении таким образом?
И нет, Compose не вариант.

Подробнее здесь: https://stackoverflow.com/questions/798 ... insert-a-n

Вернуться в «Android»