Sobes.tech
Junior — Middle

Koja funkcija u ViewModel-u inicira ažuriranje prikaza u korisničkom interfejsu?

sobes.tech АИ

Одговор од АИ

U ViewModel-u se obično koristi objekat LiveData ili StateFlow za ažuriranje korisničkog interfejsa. Da bi se inicijalizovalo ažuriranje prikaza, u ViewModel-u se menja vrednost u LiveData pomoću metode setValue() (ako je na glavnom thread-u) ili postValue() (ako je iz pozadinskog thread-a).

Primer sa LiveData:

private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data

fun updateData(newValue: String) {
    _data.value = newValue // inicira ažuriranje UI ako je View pretplaćen na data
}

Na ovaj način, funkcija koja menja vrednost LiveData ili StateFlow u ViewModel-u inicira ažuriranje UI, jer View (Activity/Fragment) prati ove podatke i reaguje na promene.