Я встречаю странное поведение относительно кнопки «Назад» и Fragments
. Вот моя ситуация, у меня есть 3 Fragments
, f1
, f2
и f3 .
Существует Button
f1
в который воспитывает f2
:Обратные кнопки Отображает неправильный фрагмент
getSupportFragmentManager()
.beginTransaction()
.addToBackStack("f1")
.replace(R.id.fragHook, f2,
TAG).commit();
Эта сделка отлично работает. Я могу ударить взад-вперед между двумя фрагментами, которые только что находят. Внутри f2 у меня есть RecyclerView
, который пользователь может выбрать ячейку. Когда пользователь выбирает ячейку, я воспитываю f3
, но я не добавляю f2
к backstack:
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragHook, f3)
.commit();
Fragment
f3
отображается правильно. И в первый раз с этим процессом я нажимаю кнопку «Назад», а f1
отображается правильно. Проблема теперь возникает, если я повторяю те же самые шаги. Button
в пределах f1
щелкнул, что вызывает f2
с RecyclerView
. Затем выбирается ячейка, восходящая к f3
во второй раз. Теперь, когда я нажимаю кнопку «Назад», появляется фрагмент f2
.
Я проверил и onCreateView
вызывается как для f1
, так и для f2
. Что может вызвать появление f2
Fragment
?