欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解并运用:ViewModel的数据储存机制与工作原理 - 入门篇

最编程 2024-07-24 13:41:15
...

这样的viewmodel是可以做到因为系统原因的页面销毁重建,做到数据的保存,实际上是对Viewmodel的复用

class mViewModel:ViewModel() {
    val getHttp : MutableLiveData<T>
    fun getHttp():LiveData<T>{
        // 如果因为配置变更而页面销毁,viewmodel实例被保存下来
        // 所以getHttp.value 有值,就可以不发起网络请求了
        if(getHttp.value == null){
            data = api.getHttp()
            getHttp.value = data
        }
        return getHttp
    }
}

class Activity {
    mViewModel.getHttp().observer(this,Observer{
        // 获取数据
    })
}


推荐阅读