Sobes.tech
Junior — Middle

Hogyan történik az információátadás a Fragment komponensek között Androidban?

sobes.tech MI

Válasz az MI-től

Androidben az információk cseréje a fragmentek között általában azokat tartalmazó aktivitás révén vagy megosztott ViewModel-ek segítségével történik.

Fő módszerek:

  1. Az aktivitáson keresztül:

    • Az A fragment meghív egy aktivitás metódust és adatokat ad át.
    • Az aktivitás adatokat továbbít a B fragmentnek.
  2. Interfészek használata:

    • Az A fragment deklarál egy interfészt az adatok átadására.
    • Az aktivitás megvalósítja ezt az interfészt és adatokat kap az A fragmenttől, majd továbbítja azokat a B fragmentnek.
  3. Shared ViewModel (architekturális komponensekkel):

    • Mindkét fragment ugyanazt a ViewModel-t használja, amely az aktivitáshoz kapcsolódik.
    • A ViewModel tartalmaz LiveData-t, amelyen keresztül a fragmentek adatokat cserélnek.

Példa Shared ViewModel-lel:

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

// A fragmentben
viewModel.selectedItem.value = "Átadandó adatok"

// B fragmentben
viewModel.selectedItem.observe(viewLifecycleOwner) { data ->
    // Használja a kapott adatokat
}