Sobes.tech
Junior — Middle

Aké metódy sa používajú na výmenu údajov medzi Fragmentmi v Android?

sobes.tech AI

Odpoveď od AI

Výmena údajov medzi Fragmentmi v Android môže byť realizovaná viacerými spôsobmi:

  1. Cez Activity — fragmenty komunikujú cez nadradenú Activity, ktorá slúži ako sprostredkovateľ. Napríklad, jeden fragment volá metódu Activity s odovzdaním údajov, a Activity ich prenáša inému fragmentu.

  2. Použitie ViewModel s životným cyklom Activity — spoločný ViewModel, spojený s Activity, umožňuje fragmentom vymieňať si údaje cez LiveData.

  3. Použitie rozhraní — fragment definuje rozhranie na prenos údajov, ktoré implementuje Activity.

  4. EventBus alebo iné knižnice udalostí — umožňujú odosielanie udalostí medzi komponentmi.

Príklad s ViewModel:

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

    fun select(item: String) {
        selected.value = item
    }
}

// V Fragment A
viewModel.select("Dáta")

// V Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
    // spracovanie dát
}