我正在使用 Android Studio 2.1 AFIK 中引入的数据绑定 API 的双向绑定。
我得到这个有趣的错误:
错误:任务“:app:compileDebugJavaWithJavac”执行失败。
> java.lang.RuntimeException:发现数据绑定错误。
****/ 数据绑定错误 ****msg: The expression address.street cannot be inverted: two-way binding cannot resolve a setter for java.lang.String property 'street'
file:/path/to/layout .xml
位置:34:37 - 34:50 ****\ 数据绑定错误 ****
当我尝试用谷歌搜索该错误时,我发现一个 4 天前的日本 Twitter 帖子来自一个为此哭泣的人......
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/edit_hint_zip"
android:text="@={address.zip}"
tools:text="12345"/>
那address.zip
是一个String
. 我猜这里的问题是CharSequence
vs.String
的返回值EditText.getText()
。
我的想法是定义它,但这对我不起作用:
@NonNull
@InverseBindingAdapter(attribute = "text")
public static String getText(EditText edit) {
return edit.getText().toString();
}
我错过了什么?