Sobes.tech
Junior — Middle

Kā notiek informācijas pārraide starp Fragment komponentiem Android?

sobes.tech AI

Atbilde no AI

Android, informācijas apmaiņa starp fragmentiem parasti notiek caur aktivitāti, kas tos satur, vai ar kopīgu ViewModel izmantošanu.

Galvenie veidi:

  1. Caur aktivitāti:

    • Fragment A izsauc aktivitātes metodi un nodod datus.
    • Aktivitāte nodod datus fragmentam B.
  2. Interfeisu izmantošana:

    • Fragment A deklarē interfeisu datu nodošanai.
    • Aktivitāte īsteno šo interfeisu un saņem datus no fragmenta A, pēc tam tos nodod fragmentam B.
  3. Kopīgs ViewModel (ar arhitektūras komponentiem):

    • Abi fragmenti izmanto vienu un to pašu ViewModel, kas ir saistīts ar aktivitāti.
    • ViewModel satur LiveData, caur kuru fragmenti apmainās ar datiem.

Piemērs ar kopīgu ViewModel:

class SharedViewModel : ViewModel() {
    val selectedItem = MutableLiveData<String>()
}

// Fragmentā A
viewModel.selectedItem.value = "Dati pārnešanai"

// Fragmentā B
viewModel.selectedItem.observe(viewLifecycleOwner) { data ->
    // Izmanto saņemto datus
}