Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

ViewModel в Jetpack се използва за съхраняване и управление на състоянието на потребителския интерфейс, като запазва данните при промени в конфигурацията (например, завъртане на екрана). 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 за реактивно обновяване на интерфейса.