美文网首页
Android ViewModelProviders被弃用解决方

Android ViewModelProviders被弃用解决方

作者: KingWorld | 来源:发表于2020-10-09 10:40 被阅读0次

    转载:android ViewModelProviders被弃用解决方案

    最近在研究Android Jetpack的过程中,发现Android官方网站一处错误的地方,记录下来方便后来者使用。

    可直接查看下方第三点-解决方案。

    另外Android-Jetpack ROOM+DataBinding+LiveData+ViewModel+Lifecycles使用可以参照我的demo:https://github.com/VcStrong/JetpackDemo.git

    一、错误:在创建ViewModel对象的时候,提示ViewModelProviders已弃用。

    ViewModelProviders.of():不建议使用

    二、查阅官方文档发现:V2.2.0之后弃用了ViewModelProviders,建议使用new ViewModelProvider()方式

    参考:https://developer.android.google.cn/jetpack/androidx/releases/lifecycle#version_220_3

    image

    三、使用ViewModelProvider创建ViewModel

    //AppCompatActivity和Fragment这两个页面对象
    //父类ComponentActivity和Fragment实现了LifecycleOwner对象
    //父类FragmentActivity实现了ViewModelStoreOwner对象,又继承了ComponentActivity
    myViewModel = new ViewModelProvider(this).get(TestViewModel.class);
    

    四、由于我们使用Lifecycle会用到LifecycleOwner对象,我们在Lifecycle-V2.2.0之后只能使用new ViewModelProvider(),又会用到ViewModelStoreOwner对象,所以可以参见官方文档:https://developer.android.google.cn/topic/libraries/architecture/lifecycle#lco

    image

    相关文章

      网友评论

          本文标题:Android ViewModelProviders被弃用解决方

          本文链接:https://www.haomeiwen.com/subject/ayflpktx.html