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:
-
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.
-
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.
-
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
}