Какая функция во ViewModel инициирует обновление отображения в пользовательском интерфейсе?

Во ViewModel для обновления пользовательского интерфейса обычно используется объект LiveData или StateFlow.

Короткий ответ

Что ответить на собеседовании

Во ViewModel для обновления пользовательского интерфейса обычно используется объект LiveData или StateFlow. Чтобы инициировать обновление отображения, во ViewModel изменяют значение в LiveData через метод setValue() (если в главном потоке) или postValue() (если из фонового потока).

Подробный разбор

Ответ с пояснениями

Во ViewModel для обновления пользовательского интерфейса обычно используется объект LiveData или StateFlow. Чтобы инициировать обновление отображения, во ViewModel изменяют значение в LiveData через метод setValue() (если в главном потоке) или postValue() (если из фонового потока).

Пример с LiveData:

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

fun updateData(newValue: String) {
    _data.value = newValue // инициирует обновление UI, если View подписан на data
}

Таким образом, функция, которая меняет значение LiveData или StateFlow во ViewModel, инициирует обновление UI, так как View (Activity/Fragment) наблюдает за этими данными и реагирует на изменения.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку