Sobes.tech
Junior — Middle

Akými metódami je možné zorganizovať výmenu údajov medzi dvoma fragmentmi v aplikácii?

sobes.tech AI

Odpoveď od AI

V Androide je možné na výmenu dát medzi dvoma fragmentmi použiť niekoľko prístupov:

  1. Cez Activity — fragmenty komunikujú cez rodičovskú Activity, ktorá slúži ako sprostredkovateľ. Jeden fragment odovzdá dáta do Activity, druhý ich prijme.

  2. ViewModel s LiveData — spoločný ViewModel, spojený s Activity, umožňuje fragmentom sledovať zmeny v dátach a vymieňať si ich reaktívne.

  3. Callback rozhrania — fragment implementuje rozhranie, ktoré volá iný fragment cez Activity.

  4. SharedPreferences alebo databázy — na trvalejšie uloženie a výmenu dát.

Príklad s ViewModel:

class SharedViewModel : ViewModel() {
    val selectedItem = MutableLiveData<String>()
}

// V prvom fragmente
sharedViewModel.selectedItem.value = "Dáta na odovzdanie"

// V druhom fragmente
sharedViewModel.selectedItem.observe(viewLifecycleOwner) { data ->
    // Spracovanie prijatých dát
}

Tento spôsob sa považuje za moderný a pohodlný na výmenu dát medzi fragmentmi v rámci jednej Activity.