Я пытаюсь реализовать следующий фрагмент: Фрагмент A заменяется фрагментом B, который, в свою очередь, заменяется фрагментом C. Являетесь ли в фрагменте B или C, я хочу, чтобы пользователь назад, чтобы вернуть его в фрагмент A. Я добавляю в backstack при замене A на B. Но когда я перехожу из B в C, я не добавляю в backstack. При навигации по фрагменту B все работает нормально. Но, переходя от C, я получаю A и C на одном экране - C не исчезает. Интересно, связано ли это с моим использованием backstack. Любая помощь приветствуется.нетривиальные андроидные фрагменты backstack
Мой код эквивалентен:
Fragment fragment;
fragment = new FragmentA();
transaction.replace(R.id.container, fragment);
transaction.commit();
fragment = new FragmentB();
transaction.replace(R.id.container, fragment);
transaction.addToBackStack(null);
transaction.commit();
fragment = new FragmentC();
transaction.replace(R.id.container, fragment);
transaction.commit();
{{ Мой код эквивалентен: Фрагмент фрагмента; фрагмент = новый FragmentA(); transaction.replace (R.id.container, фрагмент); transaction.commit(); фрагмент = новый FragmentB(); transaction.replace (R.id.container, фрагмент); transaction.addToBackStack (null); transaction.commit(); фрагмент = новый FragmentC(); transaction.replace (R.id.container, фрагмент); transaction.commit(); }}} – yinonby
Проблема с addToBackStack (null) является основной проблемой, попробуйте назначить теги Fragment1.class.getName(), как было предложено, и вывести второй фрагмент с помощью его тега. Затем вы можете перейти от 3-го фрагмента к первому) –
Решили проблему – yinonby