Если вам нужно сбрасывать четвертый фрагмент из истории backstack в первый, используйте теги !!!
Когда вы добавляете первый фрагмент, вы должны использовать что-то вроде этого:
getFragmentManager.beginTransaction.addToBackStack ("A"). add (R.id.container, FragmentA) .commit ()
или
getFragmentManager.beginTransaction.addToBackStack ("A ") .replace (R.id.container, FragmentA) .commit ()
И если вы хотите показать фрагменты B, C и D, вы используете это:
getFragmentManager.beginTransaction .addToBackStack ("B"). replace (R.id.container, FragmentB, "B"). commit ()
и другие буквы ....
Чтобы вернуться к Фрагмент A, просто вызовите popBackStack (0, «A»), да, используйте флаг, который вы указали при его добавлении, и обратите внимание, что он должен быть тем же самым флажком в команде addToBackStack, а не тот, который используется в команде replace или add .
Добро пожаловать;)