Junior — Middle
Milliseid meetodeid kasutatakse andmete vahetamiseks Fragmentide vahel Androidis?
sobes.tech AI
Vastus AI-lt
Andmete vahetamine vahel Fragmentide vahel Androidis võib olla teostatav mitmel viisil:
-
Activity kaudu — fragmentid suhtlevad läbi vanem-Activity, mis toimib vahendajana. Näiteks kutsub üks fragment Activity meetodi ja edastab andmed, ning Activity edastab need teisele fragmentile.
-
Kasutades ViewModel-i koos Activity elutsükliga — ühine ViewModel, mis on seotud Activity-ga, võimaldab fragmentidel vahetada andmeid LiveData kaudu.
-
Interfaced kasutamine — fragment määratleb andmete edastamiseks liidese, mille implementatsiooniga tegeleb Activity.
-
EventBus või muud sündmuste raamatukogud — võimaldavad komponentide vahel sündmusi saata.
Näide ViewModel-iga:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// Fragment A-s
viewModel.select("Andmed")
// Fragment B-s
viewModel.selected.observe(viewLifecycleOwner) { data ->
// andmete töötlemine
}