Milyen módszerekkel lehet szervezni az adatok cseréjét két fragmentum között egy alkalmazásban?
sobes.tech MI
Válasz az MI-től
Androidben több megközelítés is alkalmazható két fragment közötti adatok cseréjére:
-
Az Activity-n keresztül — a fragmentek az anya-Activity-n keresztül kommunikálnak, amely közvetítőként működik. Az egyik fragment adatokat küld az Activity-nek, a másik pedig fogadja azokat.
-
ViewModel és LiveData használatával — egy közös ViewModel, amely az Activity-hez kapcsolódik, lehetővé teszi a fragmentek számára, hogy megfigyeljék az adatok változásait, és reaktív módon cseréljenek adatokat.
-
Visszahívási interfészek (Callback interfaces) — egy fragment megvalósít egy interfészt, amelyet a másik fragment az Activity-n keresztül hív meg.
-
SharedPreferences vagy adatbázisok — tartósabb tárolás és adatcsere érdekében.
Példa ViewModel-lel:
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// Az első fragmentben
sharedViewModel.selectedItem.value = "Átadandó adatok"
// A második fragmentben
sharedViewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Az adatok feldolgozása
}
Ez a módszer modernnek és kényelmesnek számít az adatok cseréjében ugyanazon Activity keretein belül lévő fragmentek között.