Junior — Middle
Kokiais metodais vykdomas duomenų keitimas tarp Fragmentų Android?
sobes.tech AI
Atsakymas iš AI
Duomenų keitimas tarp Fragmentų Android gali būti įgyvendintas keliais būdais:
-
Per Activity — fragmentai bendrauja per tėvinę Activity, kuri veikia kaip tarpininkas. Pavyzdžiui, vienas fragmentas iškviečia Activity metodą perduodamas duomenis, o Activity juos perduoda kitam fragmentui.
-
Naudojant ViewModel su Activity gyvavimo ciklu — bendras ViewModel, susietas su Activity, leidžia fragmentams keistis duomenimis per LiveData.
-
Naudojant sąsajas — fragmentas apibrėžia sąsają duomenų perdavimui, kurią įgyvendina Activity.
-
EventBus ar kitos įvykių bibliotekos — leidžia siųsti įvykius tarp komponentų.
Pavyzdys su ViewModel:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// Fragment A
viewModel.select("Duomenys")
// Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
// duomenų apdorojimas
}