相关疑难解决方法(0)

由于 ViewModelProviders.of() 已弃用,我应该如何创建 ViewModel 的对象?

我一直在尝试在 Activity 中创建 ViewModel 对象,但不推荐使用 ViewModelProviders 那么创建 ViewModel 对象的替代方法是什么。

android viewmodel

72
推荐指数
9
解决办法
4万
查看次数

1.1.0中不推荐使用ViewModelProviders

在查看的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

32
推荐指数
16
解决办法
1万
查看次数