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

  1. Przez aktywność:

    • Fragment A wywołuje metodę aktywności i przekazuje dane.
    • Aktywność przekazuje dane do Fragmentu B.
  2. 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.
  3. 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
}