example - Mostrar el cuadro de diálogo de ViewModel en la arquitectura de Android MVVM
architecture component android developer (1)
Acerca de MVVM con nuevos componentes de arquitectura, tengo una pregunta, ¿cómo debo implementar si mi aplicación necesita mostrar, por ejemplo, un cuadro de diálogo con 3 opciones de alguna acción que sucedió en mi máquina virtual? ¿Quién es responsable de enviar a Activity / Fragment el comando para mostrar el diálogo?
Las acciones relacionadas con la interfaz de usuario, como abrir nuevas actividades o mostrar diálogos, se desencadenan desde la vista (una actividad o fragmento), no desde un ViewModel. ViewModel no tiene una referencia a la vista para evitar fugas y mantener la capa de presentación "reactiva".
Puede suscribir su vista (actividad o fragmento) a un observable en ViewModel para que cuando cambie, pueda iniciar su diálogo o actividad nueva desde la vista.