美文网首页Android开发专栏
viewmodel 不能实例化

viewmodel 不能实例化

作者: 桃先森_ | 来源:发表于2021-07-14 11:43 被阅读0次

    报错如下

     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxx/com.xxx.xxx.MainActivity}
    : java.lang.RuntimeException: Cannot create an instance of class com.xxx.xxx.viewmodel.MainActivityViewModel
    
    Caused by: java.lang.RuntimeException: 
    Cannot create an instance of class com.xxx.xxx.viewmodel.MainActivityViewModel
    

    最后解决:因为我的BaseViewModel是继承AndroidViewModel,需要Application类型的参数,所以图二中自己写的viewModel的入参类型必须是Application类型,不能写成自己继承实现的

    image.png image.png
    //实例化方法
    ViewModelProvider(this,ViewModelProvider.AndroidViewModelFactory(application))
    .get(MainActivityViewModel::class.java)
    

    最后我用的库版本如下:

    api 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0'
    

    相关文章

      网友评论

        本文标题:viewmodel 不能实例化

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