Фрагмент Back Stack - PullRequest
       52

Фрагмент Back Stack

0 голосов
/ 13 февраля 2020

У меня есть 3 фрагмента, таких как Фрагмент 1, Фрагмент 2, Фрагмент 3

Все они открываются с использованием транзакции замены, и API-интерфейс реализован в OnViewCreated в каждом фрагменте.

Теперь, когда я перехожу из 2-й фрагмент к 3-му, затем 2-й фрагмент должен быть удален, и в стеке должен быть только 1-й фрагмент.

Проблема возникает в том, что когда я перехожу со 2-го на 3-й, должен вызываться API 3-го, который работает нормально но наряду с этим также называется api 1-го фрагмента.

Я не хочу, чтобы 1-й фрагмент вызывался при вызове 3-го.

1 Ответ

0 голосов
/ 14 февраля 2020

Извините, но ваш 3-й фрагмент не будет вызывать функциональность 1-го фрагмента, если вы не сделаете это с помощью ViewPager или Tabs. Если вы не хотите, чтобы второй фрагмент находился в стеке, просто удалите функцию .addToBackStack () из присоединяемого фрагмента.

getSupportFragmentManager().beginTransaction()
.replace(R.id.container, firstFragment)
.addToBackStack(null).commit();

getSupportFragmentManager().beginTransaction()
.replace(R.id.container, secondFragment).commit();

getSupportFragmentManager().beginTransaction()
.replace(R.id.container, thirdFragment)
.addToBackStack(null).commit();
...