我目前正在尝试在视图模型Android ViewModels的帮助下在我的两个片段之间共享数据。
在本文中,他们使用“ViewModelProviders.of(getActivity())。get(SharedViewModel.class);”在片段中获得模型。
我的问题是,当我将完全相同的行写入我的片段时,我得到一个“无法解析(android.app.Activity)的方法”错误
a+
有人可以帮我这个吗?
答案 0 :(得分:7)
ViewModelProviders
要求您使用FragmentActivity
(或从中派生的内容)而非Activity
作为活动的基类。
答案 1 :(得分:0)
如果您尝试在应用仍在使用android.support.v4的情况下将gradle文件中的androidx导入,则您可能还会从Cannot resolve method 'of(android.support.v4.app.FragmentActivity)'
中收到类似ViewModelProviders.of(getActivity())
的错误消息
这与要询问的问题不同,但是在同一个球场上,当我遇到问题时,它在Google中排名第一,所以我将其发布!
答案 2 :(得分:0)
只需将getActivity()强制转换为特定的活动。这个对我有用。例如:
model = ViewModelProviders.of((MainActivity)getActivity()).get(UserAccountViewModel.class);