Где используется Target Fragment?
TargetFragment используется примерно для того же что и startActivityForResult(), но между фрагментами. Таргет фрагмент это фрагмент который вызывает другой фрагмент чтобы получить из него какой-либо результат ()
Чтобы использовать его для того, чтобы получить результат выполнения какого-либо фрагмента необходимо проделать выполнить следующие шаги
- В вызванном фрагменте указать target фрагмент методом setTargetFragment()
Данный метод принимает в себя сам фрагмент (инстанс) и requestCode. Чтобы получить инстанст родительского фрагмента можно использовать findFragmentByTag()
- В вызывающем фрагменте необходимо переопределить метод onActivityResult()
- Вызвать в конце выполения вызванного фрагмента targetFragment.onActivityResult(), чтобы передать данные из дочернего фрагмента в родительский.
Стоит понимать что данным методом можно не просто передавать данные из одного фрагмента в другой. Это довольно гибкий способ.
Target Fragment объявлен deprecated начиная с API Level 28, так что сейчас лучше его не использовать. В качестве альтернатив можно выделить связку библиотек Navigation Component (официальная библиотека от Google) и Navigation Result (создана энтузиастом)
Портфолио из реальных проектов
Обучающая платформа AndroidSprint
Создавайте проекты с первых недель. Telegram-бот, Android-приложение, Backend API — всё на GitHub с тестами и CI/CD
- Проекты на GitHub: каждый трек даёт 3–5 работ для портфолио — показываете на собесах
- Код-ревью менторов: учитесь писать чисто и правильно — код не стыдно показать
- Production-качество: тесты, CI/CD, документация — как в продуктовых командах