Назад к вопросам
Junior — Middle
69
Каким образом можно уведомить View об изменениях данных в архитектуре MVVM?
Ответ от нейросети
sobes.tech AI
В архитектуре MVVM для уведомления View об изменениях данных обычно используется механизм наблюдения за изменениями в ViewModel. В Android это часто реализуется с помощью:
- LiveData — объект, который хранит данные и уведомляет подписчиков (View) при изменении.
- StateFlow / Flow из Kotlin Coroutines — реактивные потоки данных, которые View может наблюдать.
Пример с LiveData:
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun updateData(newValue: String) {
_data.value = newValue
}
}
// В Activity или Fragment
viewModel.data.observe(viewLifecycleOwner) { updatedValue ->
textView.text = updatedValue
}
Таким образом, когда данные в ViewModel меняются, View автоматически получает уведомление и обновляет UI.