Sobes.tech
Junior — Middle

Kako se može komunicirati sa ViewModel za ažuriranje prikaza podataka u View?

sobes.tech АИ

Одговор од АИ

U ViewModel obično se čuvaju podaci i logika koji treba da se prikazuju u View. Za ažuriranje prikaza podataka u View iz ViewModel u Androidu često se koristi obrazac posmatrača sa LiveData ili Observable.

Glavni način interakcije:

  • ViewModel sadrži LiveData sa podacima.
  • View (Activity ili Fragment) se pretplaćuje na promene u LiveData.
  • Kada se podaci promene u ViewModel, LiveData obaveštava View, i UI se automatski ažurira.

Primer sa LiveData:

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

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

// U Activity ili Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedData ->
    textView.text = updatedData
}

Na ovaj način, ViewModel ne ažurira direktno View, već pruža podatke putem LiveData, a View reaguje na promene i ažurira prikaz.