У меня есть несколько фрагментов, которые продолжают заменять друг друга (с транзакциями, добавленными в backstack). В зависимости от действий пользователя в какой-то момент мне нужно очистить все (или некоторые) из предыдущих фрагментов и показать только 1 новый фрагмент.андроид показать следующий фрагмент перед появлением backstack
Для этого я в настоящее время делаю popBackStack()
, чтобы сначала очистить их, а затем сделать replace()
, это работает так, как ожидалось. Однако иногда появляется фрагмент предыдущего фрагмента, прежде чем мы увидим новый фрагмент. Я думаю, что это потому, что я сначала вывожу назад, прежде чем показывать новый фрагмент.
Так что мне просто интересно, есть ли простой способ сначала отобразить новый фрагмент, а затем очистить стопку предыдущих транзакций?
Как это сделать, если вы только хотите вырезать предыдущий фрагмент 1 (или 'n') в некоторых случаях? Когда я popBackStack() после добавления нового фрагмента, новый фрагмент никогда не отображается. –
Это займет некоторую работу, но вот решение, которое вам нужно для импинга, чтобы добиться эффекта. http://stackoverflow.com/questions/21665346/android-reorder-fragment-backstack/22125826#22125826 – JanBo
Но прежде чем вы это попробуете, настройте индивидуальную анимацию на транзакции фрагмента? – JanBo