Junior — Middle
Jak odbywa się przekazywanie informacji między komponentami Fragment w Android?
sobes.tech AI
Odpowiedź od AI
W Androidzie, wymiana informacji między fragmentami zazwyczaj odbywa się przez aktywność, która je zawiera, lub za pomocą wspólnych ViewModel.
Główne metody:
-
Przez aktywność:
- Fragment A wywołuje metodę aktywności i przekazuje dane.
- Aktywność przekazuje dane do Fragmentu B.
-
Użycie interfejsów:
- Fragment A deklaruje interfejs do przekazywania danych.
- Aktywność implementuje ten interfejs i odbiera dane od Fragmentu A, a następnie przekazuje je do Fragmentu B.
-
Shared ViewModel (z użyciem komponentów architektonicznych):
- Oba fragmenty korzystają z tego samego ViewModel powiązanego z aktywnością.
- ViewModel zawiera LiveData, przez które fragmenty wymieniają dane.
Przykład z Shared ViewModel:
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// W fragmencie A
viewModel.selectedItem.value = "Dane do przekazania"
// W fragmencie B
viewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Używamy odebranych danych
}