Sobes.tech
Junior — Middle

Hogyan adsz át információt két fragmentum között az alkalmazásban?

sobes.tech MI

Válasz az MI-től

Az Androidban két fragment közötti információátvitelhez általában több megközelítést alkalmaznak:

  1. Az Activity-n keresztül: A fragmentek az őket tartalmazó Activity-n keresztül kommunikálnak, amely közvetítőként működik.

  2. ViewModel használata az Activity-vel közös életciklussal: Létrehozunk egy ViewModel-t, amely az Activity-hez kapcsolódik, és mindkét fragment hozzáfér, adatokat cserélve LiveData segítségével.

  3. Fragment argumentumok: A második fragment létrehozásakor adatokat adhatunk át egy Bundle segítségével, a setArguments() metódus használatával.

Példa a ViewModel-en keresztüli átadásra:

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

// Az első fragmentben
sharedViewModel.selectedData.value = "Átadandó adatok"

// A második fragmentben
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
    // Használja a kapott adatokat
}