Sobes.tech
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.