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:
-
Ü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.
-
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.
-
Verwendung von Schnittstellen — das Fragment definiert eine Schnittstelle zur Datenübertragung, die von der Activity implementiert wird.
-
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
}