Android Studio 2.1 AFIK で導入されたデータ バインディング API の双方向バインディングで遊んでいます。
次の興味深いエラーが表示されます。
エラー: タスク ':app:compileDebugJavaWithJavac' の実行に失敗しました。
> java.lang.RuntimeException: データ バインディング エラーが見つかりました。
****/ データ バインディング エラー ****msg: 式 address.street を反転できません: 双方向バインディングでは、java.lang.String プロパティ 'street'
ファイルのセッターを解決できません:/path/to/layout .xml
loc: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();
}
私は何を取りこぼしたか?