Junior — Middle
Jakie metody służą do wymiany danych między Fragmentami w Androidzie?
sobes.tech AI
Odpowiedź od AI
Wymiana danych między Fragmentami w Androidzie może być realizowana na kilka sposobów:
-
Przez Activity — fragmenty komunikują się przez nadrzędną Activity, która działa jako pośrednik. Na przykład, jeden fragment wywołuje metodę Activity, przekazując dane, a Activity przekazuje je innemu fragmentowi.
-
Użycie ViewModel z cyklem życia Activity — wspólny ViewModel powiązany z Activity umożliwia fragmentom wymianę danych przez LiveData.
-
Użycie interfejsów — fragment definiuje interfejs do przekazywania danych, który implementuje Activity.
-
EventBus lub inne biblioteki zdarzeń — pozwalają na wysyłanie zdarzeń między komponentami.
Przykład z ViewModel:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// W Fragment A
viewModel.select("Dane")
// W Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
// obsługa danych
}