커스텀 객체의 필드에 @InverseBinding 하는 방법.
조회수 485회
data class User(
val name: String,
val phone: String
)
...
<EditText
...
android:text="@={user.name}"/>
<EditText
...
android:text="@={user.phone}"/>
<Button
...
android:enabled="@{!user.name.isEmpty() && !user.phone.isEmpty()}"
/>
User 객체를 감싼 LiveData를 xml에서 다음과 같이 사용할 때, 유저의 필드로 값 자체는 제대로 갱신이 되지만, 변경에 따른 이벤트가 발생하지 않습니다. (버튼의 enabled)
왜 그런지는 알겠고, 당장은 리스너를 달아서 원하는 대로 동작하게 했으나,
리스너를 따로 붙여주는 거 부터가 역바인딩을 쓰는 이유가 없다고 생각해서 좋은 해결 방법은 아닌 거 같습니다.
혹시 더 좋은 방법이 있을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력