Sobes.tech
Junior — Middle
95

Welche Methoden können verwendet werden, um den Datenaustausch zwischen Fragmenten in einer Anwendung zu organisieren?

Unternehmen wurden gefragt
Центр Инвест Банк
Альфа КапиталАльфа Капитал

Antwort von AI

sobes.tech KI

Обмен данными между Fragment в Android можно организовать несколькими способами:

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

  2. ViewModel с использованием LiveData — общий ViewModel, связанный с Activity, позволяет фрагментам наблюдать за изменениями данных и обмениваться ими реактивно.

  3. Интерфейсы обратного вызова (Callback) — фрагмент определяет интерфейс, который реализует Activity, и через него передает данные другому фрагменту.

  4. Shared Preferences или база данных — менее предпочтительный способ, но можно сохранять данные в общем хранилище.

  5. EventBus (например, Otto, EventBus) — сторонние библиотеки для передачи событий между компонентами.

Пример с ViewModel:

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

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

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