一、作用
将视图与数据分离,并独立于Activity的重建,在设备旋转导致Activity销毁并重新加载时,数据不会丢失
二、使用步骤
1.配置gradle
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.3.0'
2.继承ViewModel类
class TimerViewModel : ViewModel()
3.Activity中调用ViewModel获取数据
val viewModel=ViewModelProvider(this).get(TimerViewModel::class.java)
完整代码
TimerViewModel
class TimerViewModel : ViewModel() {
private var timer: Timer?=null
lateinit var listener: OnTimeChangeListener
var currentSecond = 0
fun startTiming() {
if (timer==null) {
timer = Timer()
val timerTask = object : TimerTask() {
override fun run() {
currentSecond++