没有指定资源类型(在'text'处,值为'@ = {bindingVariable.propertyName}')

rek*_*ire 2 data-binding android two-way

使用数据绑定API时出现奇怪的错误:

没有指定资源类型(在'text'处,值为'@ = {bindingVariable.propertyName}').

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">
    <data>
        <variable
            name="address"
            type="com.example.Address"/>
    </data>

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/edit_hint_street"
            android:text="@={address.street}"
            tools:text="Evergreen terrace 742"/>
    </android.support.design.widget.TextInputLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

这是我的POJO课程:

public class Address {
    private String street;

    public void setStreet(String street) {
        this.street = street;
    }

    public String getStreet() {
        return street;
    }
}
Run Code Online (Sandbox Code Playgroud)

rek*_*ire 8

检查两次后,build.gradle我发现了错误:我忘了启用数据绑定API,如下所示:

dataBinding {
    enabled = true
}
Run Code Online (Sandbox Code Playgroud)

那必须在你的Android DSL中.