我正在玩Android Studio 2.1 AFIK中引入的數據綁定API的雙向綁定。雙向綁定無法解析java.lang.String屬性的setter
我得到這個有趣的錯誤:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.RuntimeException: Found data binding errors.
****/ data binding error ****msg:The expression address.street cannot cannot be inverted: Two-way binding cannot resolve a setter for java.lang.String property 'street'
file:/path/to/layout.xml
loc:34:37 - 34:50 ****\ data binding error ****
當我嘗試谷歌的錯誤我只是找到誰在哭它一個人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
與String
作爲EditText.getText()
的返回值。
我的想法是將其定義然而,這並沒有爲我工作:
@NonNull
@InverseBindingAdapter(attribute = "text")
public static String getText(EditText edit) {
return edit.getText().toString();
}
我錯過了什麼?
你能鏈接你正在談論的提交嗎?我在那裏看到只有一個在8周前推出的提交,這似乎沒有關係。 – rekire
你的意思是提交[0137f2](https://android.googlesource.com/platform/frameworks/data-binding/+/0137f239576702ac3ef4dd887b445d71f35169dd)? – rekire
是的,我也在不同版本的Android Studio上測試過。 –