Junior — Middle
Kaip perduodate informaciją tarp dviejų fragmentų programoje?
sobes.tech AI
Atsakymas iš AI
Android'e dažnai naudojami keli būdai perduoti informaciją tarp dviejų fragmentų:
-
Per Activity: Fragmentai bendrauja per tėvinę Activity, kuri veikia kaip tarpininkas.
-
Naudojant ViewModel su bendru gyvavimo ciklu su Activity: Sukuriamas ViewModel, susietas su Activity, ir abu fragmentai gali prie jo prieiti, keisdami duomenis per LiveData.
-
Fragmento argumentai: Kuriant antrą fragmentą, duomenys gali būti perduoti per Bundle naudojant
setArguments()metodą.
Pavyzdys duomenų perdavimo per ViewModel:
class SharedViewModel : ViewModel() {
val selectedData = MutableLiveData<String>()
}
// Pirmame fragmente
sharedViewModel.selectedData.value = "Perduodami duomenys"
// Antrame fragmente
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
// Naudokite gautus duomenis
}