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:
-
Activity kaudu: Fragmentid suhtlevad läbi vanem-Activity, mis toimib vahendajana.
-
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.
-
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
}