Back to questions
Junior — Middle
89
Каким образом реализуется использование ViewModel в Jetpack для управления состоянием пользовательского интерфейса?
Answer from AI
sobes.tech AI
ViewModel в Jetpack используется для хранения и управления состоянием UI, сохраняя данные при изменениях конфигурации (например, поворот экрана). ViewModel отделяет логику UI от Activity или Fragment, что упрощает тестирование и поддержку.
Пример использования:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}
// В Activity или Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
textView.text = updatedText
}
Таким образом, ViewModel хранит данные, которые переживают пересоздание UI, и предоставляет их через LiveData для реактивного обновления интерфейса.