Junior — Middle
Hogyan adsz át információt két fragmentum között az alkalmazásban?
sobes.tech MI
Válasz az MI-től
Az Androidban két fragment közötti információátvitelhez általában több megközelítést alkalmaznak:
-
Az Activity-n keresztül: A fragmentek az őket tartalmazó Activity-n keresztül kommunikálnak, amely közvetítőként működik.
-
ViewModel használata az Activity-vel közös életciklussal: Létrehozunk egy ViewModel-t, amely az Activity-hez kapcsolódik, és mindkét fragment hozzáfér, adatokat cserélve LiveData segítségével.
-
Fragment argumentumok: A második fragment létrehozásakor adatokat adhatunk át egy Bundle segítségével, a
setArguments()metódus használatával.
Példa a ViewModel-en keresztüli átadásra:
class SharedViewModel : ViewModel() {
val selectedData = MutableLiveData<String>()
}
// Az első fragmentben
sharedViewModel.selectedData.value = "Átadandó adatok"
// A második fragmentben
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
// Használja a kapott adatokat
}