Junior — Middle
Kā tiek īstenota ViewModel izmantošana Jetpack, lai pārvaldītu lietotāja saskarnes stāvokli?
sobes.tech AI
Atbilde no AI
Jetpack komponentā ViewModel tiek izmantots, lai glabātu un pārvaldītu lietotāja saskarnes stāvokli, saglabājot datus konfigurācijas izmaiņu laikā (piemēram, ekrāna apgriešanu). ViewModel atdala UI loģiku no Activity vai Fragment, kas atvieglo testēšanu un uzturēšanu.
Piemērs lietošanai:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}
// Activity vai Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
textView.text = updatedText
}
Tādējādi ViewModel glabā datus, kas izdzīvo UI atkārtotu izveidi, un nodrošina tos ar LiveData, lai reaktīvi atjauninātu saskarni.