Junior — Middle
Która funkcja w ViewModel inicjuje aktualizację wyświetlania w interfejsie użytkownika?
sobes.tech AI
Odpowiedź od AI
W ViewModel zazwyczaj używa się obiektu LiveData lub StateFlow do aktualizacji interfejsu użytkownika. Aby zainicjować aktualizację wyświetlacza, w ViewModel zmienia się wartość w LiveData za pomocą metody setValue() (jeśli na głównym wątku) lub postValue() (jeśli z wątku tła).
Przykład z LiveData:
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun updateData(newValue: String) {
_data.value = newValue // inicjuje aktualizację UI, jeśli View jest na nią podłączona
}
W ten sposób funkcja zmieniająca wartość LiveData lub StateFlow w ViewModel inicjuje aktualizację UI, ponieważ View (Activity/Fragment) obserwuje te dane i reaguje na zmiany.