首页 文章

ClassNotFoundException:没找到类“android.view.data”[重复]

提问于
浏览
1

这个问题在这里已有答案:

这是我的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 回答

  • 2

    这是sample layout文件 . 相应地修改您的布局 .

    <?xml version="1.0" encoding="utf-8"?>
    <layout xmlns:android="http://schemas.android.com/apk/res/android">
       <data>
           <variable name="user" type="com.example.User"/>
       </data>
       <LinearLayout
           android:orientation="vertical"
           android:layout_width="match_parent"
           android:layout_height="match_parent">
           <TextView android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="@{user.firstName}"/>
           <TextView android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="@{user.lastName}"/>
       </LinearLayout>
    </layout>
    
  • 1

    数据绑定布局文件略有不同,以布局的根标签开头,后跟数据元素和视图根元素

    https://developer.android.com/topic/libraries/data-binding/expressions

    您没有通用布局标记

  • 2

    您需要为Android中的dataBinding使用以下内容

    首先确保您在模型的 build.gradle 中添加了 dataBinding .

    android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "YOUR_APPP"
            minSdkVersion 15
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
    
        }
    
        dataBinding {
            enabled = true   //// This is need to be for the dataBinding
        }
        buildToolsVersion '27.0.3'
    }
    

    build.gradle (Project)中的第二个需要使用 repositories 中的 jcenter() 条目

    allprojects {
            repositories {
                google()
                jcenter()
                maven { url "https://jitpack.io" }
    
            }
        }
    
        task clean(type: Delete) {
          delete rootProject.buildDir
        }
    

    layout.xml 内的最后一个,你需要 startend 标签使用 layout 标签,如下所示

    <?xml version="1.0" encoding="utf-8"?>
    <layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">
    
    
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:padding="10dp"
            android:background="@drawable/splash"
            tools:context=".user.activity.SplashActivity">
    
    
             /**
              * USE YOUR ALL RESOURCES HERE
              */
    
        </RelativeLayout>
    </layout>
    

    欲了解更多信息,请参阅此网站Reference site

相关问题