ViewModel和ConstraintLayout Beta 2。不兼容的类型:活动无法转换为LifecycleOwner

时间:2019-06-20 14:30:25

标签: android android-constraintlayout

我刚刚将COnstraintLayout版本从Beta 1更新为Beta 2,现在在ViewModel中出现此编译错误。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.contacts_galery);

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

        viewModel.getContacts().observe(this, this::updateContactList);
    }

我的错误在于“ this”

我的构建gradle包含如下所示的lib:

implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.0.2'

如果我返回ConstraintLayout-beta1,则没有编译问题。有人遇到同样的问题吗?

1 个答案:

答案 0 :(得分:2)

您可以在LifecycleOwner issue似乎固定的情况下导入androidx core rc03,并将其排除在约束布局beta2中。

implementation 'androidx.core:core:1.1.0-rc03'
implementation ('androidx.constraintlayout:constraintlayout:2.0.0-beta2') {
    exclude group: "androidx.core.core"
}

或者您可以等待新版本的constraintlayout