如何获得2020年活动的ViewModel实例?

问题描述 投票:0回答:1

我是mvvm模式的新手。我为主要活动创建了一个ViewModel。现在,我想在主活动中获取ViewModel的实例。

此处有关Stackoverflow的大多数教程和答案建议使用ViewModelProviders.of(...,但已弃用。

因此,根据关于stackoverflow的这个问题:onCreate中的ViewModelProviders is deprecated in 1.1.0主要活动,我执行以下操作(并且我发誓我已经运行了它:mainActivityViewModel = new ViewModelProvider(this).get(MainActivityViewModel.class);

但是,我收到一个错误消息,告诉我没有找到合适的构造函数。

error: no suitable constructor found for ViewModelProvider(MainActivity)

另外,要明确指出,MainActivity应该是ViewModelStoreOwner,我创建了一个变量ViewModelStoreOwner vmso = this;,然后将该变量放入构造函数中,如下所示:mainActivityViewModel = new ViewModelProvider(vmso).get(MainActivityViewModel.class);

android mvvm viewmodel androidx viewmodelproviders
1个回答
0
投票

ViewModel viewModel = ViewModelProviders.of(this).get(ViewModel.class);

Android支持库版本已弃用。因此,您需要确保导入Androidx。并且您需要在Gradle文件中实现androidx依赖。

© www.soinside.com 2019 - 2024. All rights reserved.