Junior — Middle
Milyen módszerekkel valósítható meg az adatok cseréje Fragmentek között Androidban?
sobes.tech MI
Válasz az MI-től
Az adatok cseréje Fragmentek között Androidban többféleképpen valósítható meg:
-
Az Activity-n keresztül — a fragmentek az anya-Activity-n keresztül kommunikálnak, amely közvetítőként működik. Például, egy fragment meghív egy Activity-metódust, adatokat átadva, és az Activity továbbítja azokat egy másik fragmentnek.
-
ViewModel használata az Activity életciklusával — egy közös ViewModel, amely az Activity-hez kapcsolódik, lehetővé teszi a fragmentek közötti adatcserét LiveData segítségével.
-
Interfészek használata — a fragment meghatároz egy interfészt az adatok átadására, amit az Activity valósít meg.
-
EventBus vagy más eseménykönyvtárak — lehetővé teszik események küldését a komponensek között.
Példa ViewModel-lel:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// Fragment A-ben
viewModel.select("Adatok")
// Fragment B-ben
viewModel.selected.observe(viewLifecycleOwner) { data ->
// adatok feldolgozása
}