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.