Sobes.tech
Junior — Middle

Kokiais metodais galima organizuoti du fragmentų duomenų mainus programoje?

sobes.tech AI

Atsakymas iš AI

Android'e, norint keistis du fragmentų duomenimis, galima naudoti keletą požiūrių:

  1. Per Activity — fragmentai bendrauja per tėvinę Activity, kuri veikia kaip tarpininkas. Vienas fragmentas perduoda duomenis į Activity, kitas juos gauna.

  2. ViewModel su LiveData — bendras ViewModel, susietas su Activity, leidžia fragmentams stebėti duomenų pokyčius ir keistis jais reaguojant.

  3. Callback sąsajos — vienas fragmentas įgyvendina sąsają, kurią kitas fragmentas kviečia per Activity.

  4. SharedPreferences arba duomenų bazės — ilgalaikiam saugojimui ir duomenų keitimui.

Pavyzdys su ViewModel:

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

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

// Antrame fragmente
sharedViewModel.selectedItem.observe(viewLifecycleOwner) { data ->
    // Gauti duomenys apdorojami
}

Šis būdas laikomas moderniu ir patogiu duomenų keitimui tarp fragmentų vienos Activity ribose.