AndroidX数据绑定生成错误 [英] AndroidX databinding generation is wrong
问题描述
我正在尝试迁移到androidx,并且遇到以下问题:
I'm trying to migrate to androidx and i'm facing the following issue:
数据绑定生成包含android.support..
而不是androidx..
的类.
Databinding generates classes that includes android.support..
instead of androidx..
.
有人对如何将android.support..
替换为androidx..
有想法吗?
Does anyone have an ideea about how to replace android.support..
with androidx..
?
我正在使用Android Studio 3.2,构建gradle版本是:3.2.0.
I'm using Android Studio 3.2, build gradle version is : 3.2.0.
以下是错误生成的导入的示例:
Here is an example of bad generated imports:
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CollapsingToolbarLayout;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Switch;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.databinding.Bindable;
import androidx.databinding.DataBindingComponent;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
推荐答案
问题是绑定根据错误的.xml文件生成类.
The problem was that binding generates classes based on bad .xml files.
.xml文件内部是android.support.something
而不是androidx.something
.
Inside of .xml files were android.support.something
instead of androidx.something
.
发生这种情况是由于迁移到androidx"功能没有将.c文件中的新包含(androidx.something
)替换为android.support.something
.
This happened due to "migrate to androidx" feature which didn't replaced android.support.something
with the new include (androidx.something
) in the .xml files.
因此,要解决此问题,您必须手动替换它们.
So to fix this you have to replace them manually.
这篇关于AndroidX数据绑定生成错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!