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