Junior — Middle
Ako prenášate informácie medzi dvoma fragmentmi v aplikácii?
sobes.tech AI
Odpoveď od AI
Na prenos informácií medzi dvoma fragmentmi v Androidu sa zvyčajne používajú niekoľko prístupov:
-
Cez Activity: Fragmenty komunikujú cez rodičovskú Activity, ktorá slúži ako sprostredkovateľ.
-
Použitie ViewModel s spoločným životným cyklom s Activity: Vytvorí sa ViewModel spojený s Activity a obe fragmenty k nemu majú prístup, vymieňajúc si údaje cez LiveData.
-
Argumenty fragmentu: Pri vytváraní druhého fragmentu je možné odovzdať údaje pomocou Bundle s metódou
setArguments().
Príklad prenosu cez ViewModel:
class SharedViewModel : ViewModel() {
val selectedData = MutableLiveData<String>()
}
// V prvom fragmente
sharedViewModel.selectedData.value = "Dáta na prenos"
// V druhom fragmente
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
// Použite prijaté údaje
}