TargetFragment используется примерно для того же что и startActivityForResult(), но между фрагментами. Таргет фрагмент это фрагмент который вызывает другой фрагмент чтобы получить из него какой-либо результат ()
Чтобы использовать его для того, чтобы получить результат выполнения какого-либо фрагмента необходимо проделать выполнить следующие шаги
- В вызванном фрагменте указать target фрагмент методом setTargetFragment()
Данный метод принимает в себя сам фрагмент (инстанс) и requestCode. Чтобы получить инстанст родительского фрагмента можно использовать findFragmentByTag()
- В вызывающем фрагменте необходимо переопределить метод onActivityResult()
- Вызвать в конце выполения вызванного фрагмента targetFragment.onActivityResult(), чтобы передать данные из дочернего фрагмента в родительский.
Стоит понимать что данным методом можно не просто передавать данные из одного фрагмента в другой. Это довольно гибкий способ.
Target Fragment объявлен deprecated начиная с API Level 28, так что сейчас лучше его не использовать. В качестве альтернатив можно выделить связку библиотек Navigation Component (официальная библиотека от Google) и Navigation Result (создана энтузиастом)