Junior — Middle
Como se pode interagir com o ViewModel para atualizar a exibição de dados na View?
sobes.tech IA
Resposta da IA
No ViewModel, normalmente, armazenam-se dados e lógica que devem ser exibidos na View. Para atualizar a exibição de dados na View a partir do ViewModel no Android, frequentemente usa-se o padrão observador com LiveData ou Observable.
Forma principal de interação:
- O ViewModel contém LiveData com dados.
- A View (Activity ou Fragment) subscreve às mudanças no LiveData.
- Quando os dados mudam no ViewModel, o LiveData notifica a View, e a interface de usuário atualiza-se automaticamente.
Exemplo com LiveData:
class MyViewModel : ViewModel() {
val data: MutableLiveData<String> = MutableLiveData()
fun updateData(newValue: String) {
data.value = newValue
}
}
// Na Activity ou Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
textView.text = updatedData
}
Desta forma, o ViewModel não atualiza a View diretamente, mas fornece dados através do LiveData, e a View reage às mudanças e atualiza a exibição.