Android 为什么项目可以在没有工厂的情况下使用构造函数参数创建ViewModel类的实例

Android 为什么项目可以在没有工厂的情况下使用构造函数参数创建ViewModel类的实例,android,kotlin,viewmodel,android-jetpack,Android,Kotlin,Viewmodel,Android Jetpack,我读过这本书 在没有工厂的情况下通过ViewModelProviders初始化ViewModel时,这意味着您只能实例化没有构造函数参数的ViewModel 以下代码来自该项目 为什么在Kotlin中没有工厂的情况下,项目可以使用构造函数参数创建类ViewModel的实例 代码 这个答案一直是错误的。ViewModelProviders.ofthis始终使用至少,它支持AndroidViewModel类,该类允许自动将应用程序类作为构造函数参数提供 此外,当使用或更高版本时,默认工厂已更新为也支

我读过这本书

在没有工厂的情况下通过ViewModelProviders初始化ViewModel时,这意味着您只能实例化没有构造函数参数的ViewModel

以下代码来自该项目

为什么在Kotlin中没有工厂的情况下,项目可以使用构造函数参数创建类ViewModel的实例

代码


这个答案一直是错误的。ViewModelProviders.ofthis始终使用至少,它支持AndroidViewModel类,该类允许自动将应用程序类作为构造函数参数提供


此外,当使用或更高版本时,默认工厂已更新为也支持使用SavedStateHandle作为构造函数参数,因为答案总是错误的。ViewModelProviders.ofthis始终使用至少,它支持AndroidViewModel类,该类允许自动将应用程序类作为构造函数参数提供

此外,当使用或更高版本时,默认工厂已更新为还支持根据使用savedstateholder作为构造函数参数

wordViewModel = ViewModelProvider(this).get(WordViewModel::class.java)


class WordViewModel(application: Application) : AndroidViewModel(application) {

   ...
}