Junior — Middle
Hoe kun je met ViewModel communiceren om de gegevensweergave in de View bij te werken?
sobes.tech AI
Antwoord van AI
In de ViewModel worden gewoonlijk gegevens en logica opgeslagen die in de View moeten worden weergegeven. Om de gegevensweergave in de View vanuit de ViewModel in Android bij te werken, wordt vaak het observer-patroon gebruikt met LiveData of Observable.
Belangrijkste interactiemethode:
- De ViewModel bevat LiveData met gegevens.
- De View (Activity of Fragment) abonneert zich op wijzigingen in LiveData.
- Wanneer de gegevens in de ViewModel veranderen, informeert LiveData de View, en de UI wordt automatisch bijgewerkt.
Voorbeeld met LiveData:
class MyViewModel : ViewModel() {
val data: MutableLiveData<String> = MutableLiveData()
fun updateData(newValue: String) {
data.value = newValue
}
}
// In Activity of Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
textView.text = updatedData
}
Op deze manier update de ViewModel de View niet rechtstreeks, maar biedt het gegevens via LiveData, en de View reageert op veranderingen en werkt de weergave bij.