Junior — Middle
Aké metódy sa používajú na výmenu údajov medzi Fragmentmi v Android?
sobes.tech AI
Odpoveď od AI
Výmena údajov medzi Fragmentmi v Android môže byť realizovaná viacerými spôsobmi:
-
Cez Activity — fragmenty komunikujú cez nadradenú Activity, ktorá slúži ako sprostredkovateľ. Napríklad, jeden fragment volá metódu Activity s odovzdaním údajov, a Activity ich prenáša inému fragmentu.
-
Použitie ViewModel s životným cyklom Activity — spoločný ViewModel, spojený s Activity, umožňuje fragmentom vymieňať si údaje cez LiveData.
-
Použitie rozhraní — fragment definuje rozhranie na prenos údajov, ktoré implementuje Activity.
-
EventBus alebo iné knižnice udalostí — umožňujú odosielanie udalostí medzi komponentmi.
Príklad s ViewModel:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// V Fragment A
viewModel.select("Dáta")
// V Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
// spracovanie dát
}