Back to questions
Junior — Middle
73
Какими методами реализуется обмен данными между Fragment-ами в Android?
Companies where asked
Willdberies
Answer from AI
sobes.tech AI
Обмен данными между Fragment-ами в Android можно реализовать несколькими способами:
-
Через Activity — фрагменты общаются через родительскую Activity, которая выступает посредником. Например, один фрагмент вызывает метод Activity, передавая данные, а Activity передаёт их другому фрагменту.
-
Использование ViewModel с жизненным циклом Activity — общий ViewModel, связанный с Activity, позволяет фрагментам обмениваться данными через LiveData.
-
Использование интерфейсов — фрагмент определяет интерфейс для передачи данных, который реализует Activity.
-
EventBus или другие библиотеки событий — позволяют отправлять события между компонентами.
Пример с ViewModel:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// В Fragment A
viewModel.select("Данные")
// В Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
// обработка данных
}