Sobes.tech
Junior — Middle

Kuidas edastate teavet kahe fragmendi vahel rakenduses?

sobes.tech AI

Vastus AI-lt

Androidis kasutatakse tavaliselt mitmeid lähenemisviise kahe fragmenti vahelise teabe edastamiseks:

  1. Activity kaudu: Fragmentid suhtlevad läbi vanem-Activity, mis toimib vahendajana.

  2. ViewModel kasutamine koos ühise elutsükliga Activity-ga: Luues ViewModel, mis on seotud Activity-ga, saavad mõlemad fragmentid sellele ligi, vahetades andmeid LiveData kaudu.

  3. Fragmentide argumentide kasutamine: Teise fragmenti loomisel saab andmeid edastada Bundle'i kaudu, kasutades meetodit setArguments().

Näide andmete edastamisest ViewModeli kaudu:

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

// Esimeses fragmentis
sharedViewModel.selectedData.value = "Andmed edastamiseks"

// Teises fragmentis
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
    // Kasutage saadud andmeid
}