Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – Gradle:没有指定资源类型(‘text’的值为’@ {user.name}’).数据绑定不起作用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在我的项目中添加适当的数据绑定功能,但由于某种原因,它仍然失败.

build.gradle文件如下所示:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'me.tatarka:gradle-retrolambda:3.2.5'
    }
}

repositories {
    mavenCentral()
}

apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'

android {

    compileSdkVersion 23
    buildToolsVersion "24.0.0 rc4"

    defaultConfig {
        applicationId "boilerplate"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        }
    }

    compiLeoptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    dataBinding {
        enabled = true
    }

}

dependencies {
    compile fileTree(dir: 'libs',include: ['*.jar'])
    TESTCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'io.reactivex:rxandroid:1.2.0'
    compile 'io.reactivex:rxjava:1.1.5'
    compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'
}

布局文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://scheR_16_11845@as.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <data>
        <variable name="user" type="boilerplate.UserModel"/>
    </data>

    <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Test"
            android:id="@+id/btn2"
            android:onClick="OnBtnClick7"
            android:layouT_Below="@+id/editText3"
            android:layout_alignRight="@+id/editText3"
            android:layout_alignEnd="@+id/editText3"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:text="@{user.namE}"
        android:ems="10"
        android:id="@+id/editText"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:ems="10"
        android:id="@+id/editText2"
        android:layouT_Below="@+id/editText"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:text="@{user.email}"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textpassword"
        android:ems="10"
        android:id="@+id/editText3"
        android:layouT_Below="@+id/editText2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:text="@{user.passworD}"/>
</LinearLayout>

但是在尝试构建代码时我遇到了这样的错误

错误:(23,34)Gradle:未指定资源类型(在’text’处,值为’@ {user.namE}’).
错误:(38,35)Gradle:未指定资源类型(在’text’处,值为’@ {user.email}’).
错误:(49,38)Gradle:未指定资源类型(在’text’处,值为’@ {user.passworD}’).

我该怎么做才能解决这个问题?

解决方法

这不是布局文件的正确结构.对于数据绑定布局文件

>根元素是< layout> (不是< LinearLayout>)
>< layout>有一个孩子< data>元素,类似于你的
>您的观点将遵循< data> element作为< layout>的子元素

例如,在this sample project,我有

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://scheR_16_11845@as.android.com/apk/res/android">

  <data>

    <variable
      name="item"
      type="com.commonsware.android.databind.basic.Item"/>
  </data>

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <ImageView
      android:id="@+id/icon"
      android:layout_width="@dimen/icon"
      android:layout_height="@dimen/icon"
      android:layout_gravity="center_vertical"
      android:contentDescription="@String/icon"
      android:padding="8dip"/>

    <TextView
      android:id="@+id/title"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="left|center_vertical"
      android:text="@{item.title}"
      android:textSize="20sp"/>

  </LinearLayout>
</layout>

大佬总结

以上是大佬教程为你收集整理的android – Gradle:没有指定资源类型(‘text’的值为’@ {user.name}’).数据绑定不起作用全部内容,希望文章能够帮你解决android – Gradle:没有指定资源类型(‘text’的值为’@ {user.name}’).数据绑定不起作用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。