Sobes.tech
Junior — Middle

Kokiais metodais vykdomas duomenų keitimas tarp Fragmentų Android?

sobes.tech AI

Atsakymas iš AI

Duomenų keitimas tarp Fragmentų Android gali būti įgyvendintas keliais būdais:

  1. Per Activity — fragmentai bendrauja per tėvinę Activity, kuri veikia kaip tarpininkas. Pavyzdžiui, vienas fragmentas iškviečia Activity metodą perduodamas duomenis, o Activity juos perduoda kitam fragmentui.

  2. Naudojant ViewModel su Activity gyvavimo ciklu — bendras ViewModel, susietas su Activity, leidžia fragmentams keistis duomenimis per LiveData.

  3. Naudojant sąsajas — fragmentas apibrėžia sąsają duomenų perdavimui, kurią įgyvendina Activity.

  4. EventBus ar kitos įvykių bibliotekos — leidžia siųsti įvykius tarp komponentų.

Pavyzdys su ViewModel:

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

    fun select(item: String) {
        selected.value = item
    }
}

// Fragment A
viewModel.select("Duomenys")

// Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
    // duomenų apdorojimas
}