Sobes.tech
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:

  1. 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.

  2. Użycie ViewModel z cyklem życia Activity — wspólny ViewModel powiązany z Activity umożliwia fragmentom wymianę danych przez LiveData.

  3. Użycie interfejsów — fragment definiuje interfejs do przekazywania danych, który implementuje Activity.

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