这个问题在这里已有答案:
这是我的xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/a"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.a.AFragment">
<data>
<import type="android.databinding.ObservableArrayMap"/>
<variable name="user" type="ObservableArrayMap"/>
</data>
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.name}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
运行时出现以下错误:
引起:android.view.InflateException:二进制XML文件行#9:二进制XML文件行#9:错误膨胀类数据引起:android.view.InflateException:二进制XML文件行#9:错误膨胀类数据引起的:java.lang.ClassNotFoundException:在路径上找不到类“android.view.data”:DexPathList [[zip file“/data/app/xxx-2/base.apk”,zip file“/ data / app / xxx-2 / split_lib_dependencies_apk.apk“,zip文件”/data/app/xxx-2/split_lib_slice_0_apk.apk“,zip文件”/data/app/xxx-2/split_lib_slice_1_apk.apk“,zip文件”/ data / app /xxx-2/split_lib_slice_2_apk.apk“,zip文件”/data/app/xxx-2/split_lib_slice_3_apk.apk“,zip文件”/data/app/xxx-2/split_lib_slice_4_apk.apk“,zip文件”/ data / app / xxx-2 / split_lib_slice_5_apk.apk“,zip文件”/data/app/xxx-2/split_lib_slice_6_apk.apk“,zip文件”/data/app/xxx-2/split_lib_slice_7_apk.apk“,zip文件”/ data /app/xxx-2/split_lib_slice_8_apk.apk“,zip文件”/data/app/xxx-2/split_lib_slice_9_apk.apk"],nativeLibraryDirecto ries = [/ data / app / x.x.x-2 / lib / arm,/ system / lib,/ vendor / lib]]
错误发生在 <data>
行(开始标记)上 .
导致此错误的原因是什么?如何解决?
3 回答
这是sample layout文件 . 相应地修改您的布局 .
https://developer.android.com/topic/libraries/data-binding/expressions
您没有通用布局标记
您需要为Android中的dataBinding使用以下内容
首先确保您在模型的 build.gradle 中添加了
dataBinding
.build.gradle (Project)中的第二个需要使用
repositories
中的jcenter()
条目在 layout.xml 内的最后一个,你需要
start
和end
标签使用 layout 标签,如下所示欲了解更多信息,请参阅此网站Reference site