【问题标题】:Cannot create an instance of class ViewModel with constructor无法使用构造函数创建类 ViewModel 的实例
【发布时间】:2021-10-21 07:13:59
【问题描述】:

我正在尝试在我的活动中使用视图模型,但我的应用程序从视图模型中崩溃了错误“无法创建类的实例”。 ViewModel 是这样的:

class MyViewModel@Inject constructor(val application: Application) : ViewModel() {
   //...
}

在我的活动中,我有这个:

class Activity: BaseActivity(){
       val viewModel: MyViewModel by viewModels()

       override fun onCreate(savedInstanceState: Bundle?) {
                 super.onCreate(savedInstanceState)
       }
}

如果我删除构造函数,我的应用程序可以工作,但我需要获取 packageName,所以我需要上下文或应用程序。

为什么我会收到此错误?有什么想法吗?

【问题讨论】:

    标签: android kotlin mvvm


    【解决方案1】:

    你可以使用AndroidViewModel

    class MyViewModel@Inject constructor(val application: Application) : AndroidViewModel(application)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-28
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      相关资源
      最近更新 更多