Sobes.tech
Back to questions
Junior — Middle
76

Каким образом вы передаете информацию между двумя фрагментами в приложении?

Answer from AI

sobes.tech AI

Для передачи информации между двумя фрагментами в Android обычно используют несколько подходов:

  1. Через Activity: Фрагменты общаются через родительскую Activity, которая выступает посредником.

  2. Использование ViewModel с общим жизненным циклом Activity: Создаётся ViewModel, связанная с Activity, и оба фрагмента получают доступ к ней, обмениваясь данными через LiveData.

  3. Аргументы фрагмента: При создании второго фрагмента можно передать данные через Bundle с помощью метода setArguments().

Пример передачи через ViewModel:

class SharedViewModel : ViewModel() {
    val selectedData = MutableLiveData<String>()
}

// В первом фрагменте
sharedViewModel.selectedData.value = "Данные для передачи"

// Во втором фрагменте
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
    // Используем полученные данные
}