Sobes.tech
Junior — Middle

Kaip perduodate informaciją tarp dviejų fragmentų programoje?

sobes.tech AI

Atsakymas iš AI

Android'e dažnai naudojami keli būdai perduoti informaciją tarp dviejų fragmentų:

  1. Per Activity: Fragmentai bendrauja per tėvinę Activity, kuri veikia kaip tarpininkas.

  2. Naudojant ViewModel su bendru gyvavimo ciklu su Activity: Sukuriamas ViewModel, susietas su Activity, ir abu fragmentai gali prie jo prieiti, keisdami duomenis per LiveData.

  3. Fragmento argumentai: Kuriant antrą fragmentą, duomenys gali būti perduoti per Bundle naudojant setArguments() metodą.

Pavyzdys duomenų perdavimo per ViewModel:

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

// Pirmame fragmente
sharedViewModel.selectedData.value = "Perduodami duomenys"

// Antrame fragmente
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
    // Naudokite gautus duomenis
}