我正在尝试迁移到androidx,并且遇到以下问题:
数据绑定生成的类包含android.support..
而不是androidx..
。
有人对如何用android.support..
取代androidx..
有想法吗?
我正在使用Android Studio 3.2,构建gradle版本是:3.2.0。
以下是错误生成的导入的示例:
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;
答案 0 :(得分:4)
问题是绑定根据错误的.xml文件生成类。
.xml文件的内部是andorid.support.something
而不是androidx.something
。
发生这种情况是由于“迁移到androidx”功能没有将.xml文件中的新包含(andorid.support.something
替换为androidx.something
。
因此,要解决此问题,您必须手动替换它们。
答案 1 :(得分:1)
就我而言,所有XML都处于良好状态。但是,Android Studio在其缓存中生成了无效的类。 使缓存无效/重新启动达到了目的。
Android Studio
Version: 3.5
Build #AI-191.8026.42.35.5791312, built on August 8, 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o