Ответ
Для возврата значения из Fragment при навигации назад можно использовать FragmentManager.setFragmentResult().
- В
Fragment, который возвращает данные:
setFragmentResult(
"requestKey",
bundleOf("resultKey" to "yourValue")
)
findNavController().popBackStack()
- В
Fragment/Activity, который ожидает результат:
parentFragmentManager.setFragmentResultListener("requestKey", viewLifecycleOwner) { key, bundle ->
val result = bundle.getString("resultKey")
// Обработка результата
}
Важно: Используйте viewLifecycleOwner во Fragment, чтобы избежать утечек памяти. Для Activity можно использовать lifecycleOwner.