ViewModelProviders.of(getActivity())"无法解析(android.app.Activity)的方法"

Tob*_*20d 9 android viewmodel android-fragments

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

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

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

model = ViewModelProviders.of(getActivity()).get(UserAccountViewModel.class);
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗 ?

Com*_*are 12

ViewModelProviders要求您使用FragmentActivity(或从中派生的东西),而不是Activity作为活动的基类.

  • 要澄清-如果使用支持片段,它将起作用 (3认同)
  • @ Tobias420d:是的,并更改您的片段以使用支持库版本(`android.support.v4.app.Fragment`)进行匹配。反过来,这将要求您使用`getSupportFragmentManager()`而不是`getFragmentManager()`。 (2认同)