ViewModelProviders.of(getActivity()) "Cannot resolve method of(android.app.Activity)"



我目前正在尝试借助视图模型Android ViewModels在我的两个片段之间共享数据。

在本文中,他们在片段中使用"ViewModelProviders.of(getActivity(((.get(SharedViewModel.class(;"来获取模型。

我的

问题是,当我将完全相同的行写入我的片段时,我收到"无法解析(android.app.Activity(的方法"错误

model = ViewModelProviders.of(getActivity()).get(UserAccountViewModel.class);

有人可以帮助我吗?

>ViewModelProviders要求您使用FragmentActivity(或从中派生的内容(,而不是Activity ,作为活动的基类。

如果您

尝试在 gradle 文件中导入 androidx,而您的应用仍在使用 android.support.v4,您可能还会收到类似的错误,例如来自 ViewModelProviders.of(getActivity())Cannot resolve method 'of(android.support.v4.app.FragmentActivity)'

这与提出的问题不同,但在同一范围内,当我遇到问题时,它在 Google 中排名第一,所以我发布它!

只需将 getActivity(( 转换为特定活动。它对我有用。例如:

model = ViewModelProviders.of((MainActivity)getActivity()).get(UserAccountViewModel.class);

最新更新