Назад к вопросам
OZON
Junior — Middle
95
Каким образом можно передать информацию между двумя фрагментами в приложении?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Android для передачи данных между двумя фрагментами обычно используют следующие подходы:
-
Через Activity: Фрагменты общаются через родительскую Activity. Один фрагмент передаёт данные в Activity, а Activity передаёт их другому фрагменту.
-
Использование ViewModel: Общая ViewModel, связанная с Activity, позволяет фрагментам обмениваться данными через LiveData или другие наблюдаемые объекты.
-
Аргументы фрагмента: При создании нового фрагмента можно передать данные через Bundle в метод
setArguments(), а затем получить их вonCreate().
Пример передачи данных через ViewModel:
// Общая ViewModel
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// В первом фрагменте
sharedViewModel.selectedItem.value = "Данные для передачи"
// Во втором фрагменте
sharedViewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Используем полученные данные
}
Этот способ удобен, так как не требует прямой связи между фрагментами и учитывает жизненный цикл компонентов.