Sobes.tech
Назад к вопросам
Junior — Middle
87

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

Ответ от нейросети

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 для реактивного обновления интерфейса.