🤔 По мере усложнения приложения, в какой-то момент вам перестанет хватать «плоской» навигации «активити-фрагмент», и понадобится вкладывать фрагменты друг в друга. Как это правильно реализовать?
🫣 Конечно, вы можете временно скрыться за очередной стеной абстракций, используя navigation component, но я вас уверяю, что при отсутствии чёткого понимания fragment manager и его транзакций, вы придёте к бардаку и костылям. По крайней мере, у меня было так =)
У каждого фрагмента есть доступ к трём FragmentManager (fm):
1️⃣ activity.supportFragmentManager – fm, до которого мы можем достучаться через родительскую активити. Пока вы не используете вложенность фрагментов друг в друга, его вам будет хватать.
2️⃣ parentFragmentManager – fm родительского компонента. Если Ваш фрагмент был вложен в другой фрагмент, то это будет fm родительского фрагмента, а если фрагмент вложен напрямую в активити – то это будет тот самый fm активити из пункта 1.
3️⃣ childFragmentManager – это fm, предназначенный для создания дочерних фрагментов у этого фрагмента. Только используя этот менеджер, вы сможете делать вложенную иерархию фрагментов.
🚀 А теперь проверим, насколько вам это понятно =)
Post #130
564

- 🔥 2
- 🤔 1
- 🌚 1