Sobes.tech
Junior — Middle

Milyen módszerekkel valósítható meg az adatok cseréje Fragmentek között Androidban?

sobes.tech MI

Válasz az MI-től

Az adatok cseréje Fragmentek között Androidban többféleképpen valósítható meg:

  1. Az Activity-n keresztül — a fragmentek az anya-Activity-n keresztül kommunikálnak, amely közvetítőként működik. Például, egy fragment meghív egy Activity-metódust, adatokat átadva, és az Activity továbbítja azokat egy másik fragmentnek.

  2. ViewModel használata az Activity életciklusával — egy közös ViewModel, amely az Activity-hez kapcsolódik, lehetővé teszi a fragmentek közötti adatcserét LiveData segítségével.

  3. Interfészek használata — a fragment meghatároz egy interfészt az adatok átadására, amit az Activity valósít meg.

  4. EventBus vagy más eseménykönyvtárak — lehetővé teszik események küldését a komponensek között.

Példa ViewModel-lel:

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

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

// Fragment A-ben
viewModel.select("Adatok")

// Fragment B-ben
viewModel.selected.observe(viewLifecycleOwner) { data ->
    // adatok feldolgozása
}