Sobes.tech
Junior — Middle

Welche Methoden werden verwendet, um Daten zwischen Fragmenten in Android auszutauschen?

sobes.tech KI

Antwort von AI

Der Datenaustausch zwischen Fragmenten in Android kann auf mehrere Arten realisiert werden:

  1. Über Activity — die Fragmente kommunizieren über eine übergeordnete Activity, die als Vermittler fungiert. Zum Beispiel ruft ein Fragment eine Methode der Activity auf und übergibt Daten, die die Activity an ein anderes Fragment weitergibt.

  2. Verwendung von ViewModel mit dem Lebenszyklus der Activity — ein gemeinsames ViewModel, das mit der Activity verbunden ist, ermöglicht den Fragmenten den Datenaustausch über LiveData.

  3. Verwendung von Schnittstellen — das Fragment definiert eine Schnittstelle zur Datenübertragung, die von der Activity implementiert wird.

  4. EventBus oder andere Ereignisbibliotheken — erlauben das Senden von Ereignissen zwischen Komponenten.

Beispiel mit ViewModel:

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

    fun select(item: String) {
        selected.value = item
    }
}

// In Fragment A
viewModel.select("Daten")

// In Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
    // Datenverarbeitung
}