我一直在尝试在 Activity 中创建 ViewModel 对象,但不推荐使用 ViewModelProviders 那么创建 ViewModel 对象的替代方法是什么。
在查看的Google文档时ViewModel,他们显示了以下有关如何获取的示例代码ViewModel:
val model = ViewModelProviders.of(this).get(MyViewModel::class.java)
Run Code Online (Sandbox Code Playgroud)
使用最新的依赖项时android.arch.lifecycle:extensions:1.1.1,没有此类ViewModelProviders。
要在文档的ViewModelProviders,我看到一个评论说:
在API级别1.1.0中不推荐使用该类。使用ViewModelProvider.AndroidViewModelFactory
问题是,当尝试使用时ViewModelProvider.AndroidViewModelFactory,无法找到等效的of方法来获取的实例ViewModel。
我尝试做的是:
ViewModelProvider.AndroidViewModelFactory.getInstance(application).create(PlayerViewHolder::class.java)
Run Code Online (Sandbox Code Playgroud)
因此,方法的名称create每次调用时都会得到一个ViewModel的新实例,这不是我想要的。
有什么想法可以替换上面不推荐使用的代码吗?
android android-gradle-plugin android-viewmodel android-architecture-components