引入依赖
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-rc03'//ViewModel
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'//ViewModel
实现自增功能
class MainViewModel : ViewModel() {
private var _number = MutableLiveData<Int>().apply {
value = 0
}
val number: LiveData<Int>
get() = _number
fun add(i: Int) {
_number.value = _number.value!! + i
}
fun reset() {
_number.value = 0
}
}
实例化及简单调用
mainViewModel = ViewModelProvider(
this,
ViewModelProvider.NewInstanceFactory()
).get(MainViewModel::class.java)
mainViewModel.number.observe(this, {
textView.text = it.toString()
})
textView.text = mainViewModel.number.toString()