Sobes.tech
Junior — Middle

Cum se poate interacționa cu ViewModel pentru a actualiza afișarea datelor în View?

sobes.tech AI

Răspuns de la AI

În ViewModel, de obicei, se stochează datele și logica care trebuie afișate în View. Pentru a actualiza afișarea datelor în View din ViewModel în Android, se folosește adesea pattern-ul observator cu LiveData sau Observable.

Modul principal de interacțiune:

  • ViewModel conține LiveData cu date.
  • View (Activity sau Fragment) se abonează la modificările LiveData.
  • Când datele se schimbă în ViewModel, LiveData notifică View-ul, iar UI-ul se actualizează automat.

Exemplu cu LiveData:

class MyViewModel : ViewModel() {
    val data: MutableLiveData<String> = MutableLiveData()

    fun updateData(newValue: String) {
        data.value = newValue
    }
}

// În Activity sau Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
    textView.text = updatedData
}

Astfel, ViewModel nu actualizează direct View-ul, ci furnizează date prin LiveData, iar View-ul reacționează la schimbări și actualizează afișarea.