#jetpack #fragment
Для передачи данных между
Fragments есть несколько способов: • использовать интерфейсы и callbacks;
• использовать Shared
ViewModel;• использовать
setTargetFragment, правда он сейчас deprecated.Но есть ещё один способ, который сейчас является самым удобным и основным. Начиная с версии
Fragments 1.3.0-alpha04, FragmentManager имплементит FragmentResultOwner. Дальше мы должны добавить ключ, который хотели бы слушать, и будем принимать
Bundle с информацией. Для отправки результата надо использовать setFragmentResult с этим ключом, и добавить нужный нам Bundle.Важно следить за уникальным использованием ключей, а также есть небольшие особенности при работе с
childFragmentManager. Больше деталей и примеров кода можно найти тут.