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

No resource type specified (at 'text' with value '@={bindingVariable.propertyName}')

我在使用数据绑定时遇到一个奇怪的错误 API:

No resource type specified (at 'text' with value '@={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>

这是我的 POJO class:

public class Address {
    private String street;

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

    public String getStreet() {
        return street;
    }
}

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

dataBinding {
    enabled = true
}

那必须在您的 android DSL 中。