android - ViewModel 不能在 Activity 中实例化

标签 android android-layout android-fragments android-viewmodel

我正在尝试实例化一个 ViewModel 以在我的所有 Activity 中使用。

public class LaunchActivity extends Activity {
    private Controller control;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_launch);
         control = ViewModelProviders.of(this).get(Controller.class);
    }
}

但我在 control = ViewModelProviders.of(this) <-- 处遇到错误说明它无法解析 of(this) , 但基于示例 here Android 开发者关于实现 ViewModel 的文章;扩展 ViewModel 的类应该能够在 Activity 上实例化,对吗?

如果我做的是错的,我应该如何为我的 Activity 实例化一个 ViewModel 对象?我是否必须创建 nViewModelProviders.of() 以来带有 fragment 的 Activity 数量仅适用于 Fragment?

最佳答案

您需要使用支持库 Activity 。

AppCompatActivityFragmentActivity

关于android - ViewModel 不能在 Activity 中实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47698034/

相关文章:

java - 如何在 Android 中发送 HTTP 基本身份验证 header ?

android - LinearLayout 中的 TextView 不显示文本部分但显示图像正常

android - 如何从ListView中获取项目

android - 在 viewPager 中的 fragment 之间滑动时,选项卡高光不会改变

android - zxing条码扫描仪自动对焦不起作用

android - 使用环境变量时Android Gradle错误

android - 当上面的布局高度缩小时向上移动布局

android - 无法从 Android Firebase 数据库接收字符串

android - 设置应用程序 :layout_behavior programmatically

android - 当我点击它时,SMS 菜单不起作用