Очистить стек Android Фрагмент без всплывающих?

У нас есть активность, которая содержит SlidingMenu (https://github.com/jfeinstein10/SlidingMenu) в которомтри варианта, давайтезовут их А, В1, С1. Они соответствуют фрагментам, которые мы показываем в действии. Когда вы выбираете другую опцию из SlidingMenu, я заменяю текущий фрагмент новым через FragmentManager.

Из фрагмента B1 вы можете перейти к двум другим, давайтезовут их B2 и B3. Здесь мы хотим, чтобы клавиша «Назад» перенесла вас из B2 -> B1 или из B3 -> B1, поэтому я вызываю транзакцию .addToBackStack (ноль). Если мы выберем опцию из SlidingMenu, когда выНа B2 или B3 мы хотим очистить задний стек, поэтому я использую код, предложенный в этом вопросеОчистить задний стек, используя фрагменты который вызывает popBackStack (), покаясно.

Все идет нормально.

Из фрагмента C1 вы можете перейти к фрагменту C2. Поскольку C1 / C2 - это больше дизайн Master / Detail, я использую

fragmentTransaction.setCustomAnimations(R.animator.slide_in_from_right,
    R.animator.slide_out_to_left, R.animator.slide_in_from_left,
    R.animator.slide_out_to_right);

добавить анимацию слайдов, где С1 выдвигается влево, а С2 - справа, и наоборот. Нажатие клавиши «Назад» в то время как на C2 возвращает нас к C1 с обратной анимацией, и все хорошо.

НО

Если вы выберете A или B1 из SlidingMenu, и мы выберем popBackStack (), чтобы избавиться от C1 из заднего стека, то он выдвинет C2 вправо, что выглядит странно. Что я'Я хотел бы очистить задний стек, не запуская анимацию, но я могуне могу найти способ сделать это. Я'мы попытались вызвать popBackStackImmediate (), но это неКажется, это не имеет значения.

В качестве альтернативы, я думаю, я мог бы вообще не вызывать addToBackStack, а вместо этого вручную обрабатывать пользователя, нажимая клавишу Back через Activity.onBackPressed (), но, возможно, естьэто решение, которое я просто могуне видишь?

Ответы на вопрос(2)

Ваш ответ на вопрос