Junior — Middle
Comment peut-on interagir avec ViewModel pour mettre à jour l'affichage des données dans la vue?
sobes.tech IA
Réponse de l'IA
Dans ViewModel, les données et la logique qui doivent être affichées dans la Vue sont généralement stockées. Pour mettre à jour l'affichage des données dans la Vue à partir de la ViewModel en Android, on utilise souvent le pattern observateur avec LiveData ou Observable.
Méthode principale d'interaction:
- La ViewModel contient un LiveData avec des données.
- La Vue (Activity ou Fragment) s'abonne aux changements de LiveData.
- Lorsqu'il y a une modification des données dans la ViewModel, LiveData notifie la Vue, et l'interface utilisateur se met à jour automatiquement.
Exemple avec LiveData:
class MyViewModel : ViewModel() {
val data: MutableLiveData<String> = MutableLiveData()
fun updateData(newValue: String) {
data.value = newValue
}
}
// Dans l'Activity ou le Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
textView.text = updatedData
}
Ainsi, la ViewModel ne met pas à jour la Vue directement, mais fournit des données via LiveData, et la Vue réagit aux changements et met à jour l'affichage.