Junior — Middle
Kokiais metodais galima organizuoti du fragmentų duomenų mainus programoje?
sobes.tech AI
Atsakymas iš AI
Android'e, norint keistis du fragmentų duomenimis, galima naudoti keletą požiūrių:
-
Per Activity — fragmentai bendrauja per tėvinę Activity, kuri veikia kaip tarpininkas. Vienas fragmentas perduoda duomenis į Activity, kitas juos gauna.
-
ViewModel su LiveData — bendras ViewModel, susietas su Activity, leidžia fragmentams stebėti duomenų pokyčius ir keistis jais reaguojant.
-
Callback sąsajos — vienas fragmentas įgyvendina sąsają, kurią kitas fragmentas kviečia per Activity.
-
SharedPreferences arba duomenų bazės — ilgalaikiam saugojimui ir duomenų keitimui.
Pavyzdys su ViewModel:
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// Pirmame fragmente
sharedViewModel.selectedItem.value = "Perduodami duomenys"
// Antrame fragmente
sharedViewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Gauti duomenys apdorojami
}
Šis būdas laikomas moderniu ir patogiu duomenų keitimui tarp fragmentų vienos Activity ribose.