我的Android绑定突然停止工作了,现在我构建的任何东西都会收到这个消息。
错误:任务“:app:compileDevDebugJavaWithJavac”执行失败。
java.lang.RuntimeException:发现数据绑定错误。 **** /数据绑定错误 ****msg:无法找到属性“android:text”的getter,其值类型为java.lang.String,位于android.widget.EditText上。 文件:C:\ path \ to \ layout \ layout.xml loc:85:12-96:54 **** \数据绑定错误 ****
我尝试过的: 首先,有人建议如果我的文件中存在错误,则绑定将无法编译,因此删除了所有使用绑定的布局文件,直到一个文件layout.xml。在那里我有
"...它运行良好,但是如果我添加双向绑定
“...然后它会抛出新的错误。
错误:执行任务 ':app:compileDevDebugJavaWithJavac' 失败。
仍然出现之前的错误。
我的设置:
- Android Studio: 2.3.3 - Gradle Build 工具:2.3.3
错误:任务“:app:compileDevDebugJavaWithJavac”执行失败。
java.lang.RuntimeException:发现数据绑定错误。 **** /数据绑定错误 ****msg:无法找到属性“android:text”的getter,其值类型为java.lang.String,位于android.widget.EditText上。 文件:C:\ path \ to \ layout \ layout.xml loc:85:12-96:54 **** \数据绑定错误 ****
我尝试过的: 首先,有人建议如果我的文件中存在错误,则绑定将无法编译,因此删除了所有使用绑定的布局文件,直到一个文件layout.xml。在那里我有
<EditText
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@{model.name}" />
"...它运行良好,但是如果我添加双向绑定
android:text="@={model.name}"
,就会抛出之前的错误。
接下来,我添加了
"@InverseBindingAdapter(attribute = "android:text")
public static String captureEditTextValue(EditText view) {
return view.getText().toString();
}
“...然后它会抛出新的错误。
错误:执行任务 ':app:compileDevDebugJavaWithJavac' 失败。
java.lang.RuntimeException:发现数据绑定错误。 ****/ 数据绑定错误 ****msg:在视图类型 'android.widget.EditText' 上找不到事件 'android:textAttrChanged' file:C:\Users\EdgeTech\AndroidStudioProjects\purse\purse-customer\app\src\main\res\layout\get_phone_layout.xml loc:85:12 - 96:54 ****\ 数据绑定错误 ****
进一步进行了重构,变成了这样。
” @InverseBindingAdapter(attribute = "android:text", event = "android:textAttrChanged")
public static String captureEditTextValue(EditText view) {
return view.getText().toString();
}
仍然出现之前的错误。
我的设置:
- Android Studio: 2.3.3 - Gradle Build 工具:2.3.3
String
类型,则android:text="@={model.name}"
这行就足够了。如果您有其他数据类型,则需要进行反向绑定。 - RaviEditText
上进行简单的String
绑定时停止工作。标记的答案无法解决它。 - Alex Burdusel