Junior — Middle
¿Cómo se puede interactuar con ViewModel para actualizar la visualización de datos en la vista?
sobes.tech AI
Respuesta de la IA
En ViewModel generalmente se almacenan datos y lógica que deben mostrarse en la Vista. Para actualizar la visualización de datos en la Vista desde la ViewModel en Android, a menudo se utiliza el patrón observador con LiveData o Observable.
Forma principal de interacción:
- La ViewModel contiene LiveData con datos.
- La Vista (Activity o Fragment) se suscribe a los cambios en LiveData.
- Cuando los datos cambian en la ViewModel, LiveData notifica a la Vista, y la interfaz de usuario se actualiza automáticamente.
Ejemplo con LiveData:
class MyViewModel : ViewModel() {
val data: MutableLiveData<String> = MutableLiveData()
fun updateData(newValue: String) {
data.value = newValue
}
}
// En Activity o Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
textView.text = updatedData
}
De esta manera, la ViewModel no actualiza la Vista directamente, sino que proporciona datos a través de LiveData, y la Vista responde a los cambios y actualiza la visualización.