gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:10:45 25 4
gpt4 key购买 nike

我已经读过artical
当通过不带工厂的ViewModelProviders初始化ViewModel时,这意味着您只能实例化没有构造函数参数的ViewModel。
以下代码来自项目android-room-with-a-view
为什么项目无法在Kotlin中创建带有构造函数参数的ViewModel类实例,而没有工厂?
代码

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


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

...
}

最佳答案

这个答案一直是错误的。 ViewModelProviders.of(this)始终至少使用 AndroidViewModelFactory ,它支持AndroidViewModel类,该类允许自动将Application类用作构造函数参数。
此外,当使用Fragment 1.2.0或更高版本时,默认工厂已更新为 SavedStateViewModelFactory ,以支持根据Saved State module with ViewModel guide使用SavedStateHandle作为构造函数参数。

关于android - 为什么项目可以在没有工厂的情况下创建带有构造函数参数的ViewModel类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63144795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com