Back to questions
Junior — Middle
68
Можно ли объяснить принцип работы Fragment Result API и его назначение в архитектуре Android-приложений?
Answer from AI
sobes.tech AI
Fragment Result API в Android предназначен для обмена данными между фрагментами без необходимости напрямую связывать их друг с другом.
Принцип работы:
- Один фрагмент устанавливает слушатель на определённый ключ результата.
- Другой фрагмент отправляет результат с этим ключом.
- Система передаёт данные слушателю, который их обрабатывает.
Это упрощает коммуникацию между фрагментами, особенно когда они не находятся в прямой иерархии или когда нужно избежать тесной связности.
Пример использования:
// В принимающем фрагменте
setFragmentResultListener("requestKey") { key, bundle ->
val result = bundle.getString("bundleKey")
// обработка результата
}
// В отправляющем фрагменте
val result = Bundle().apply { putString("bundleKey", "данные") }
setFragmentResult("requestKey", result)
Таким образом, Fragment Result API способствует более чистой архитектуре и облегчает управление навигацией и обменом данными между фрагментами.