Sobes.tech
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:

  1. Cez Activity: Fragmenty komunikujú cez rodičovskú Activity, ktorá slúži ako sprostredkovateľ.

  2. 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.

  3. 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
}