【发布时间】:2017-01-24 11:49:58
【问题描述】:
我创建了一个自定义设置器,将枚举的文本设置为 editText:
public enum Gender {
MALE, FEMALE}
XML:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
custom:holder="@={user.gender}" />
适配器:
@BindingAdapter ("custom:holder")
public static void setHolder(EditText editText, Gender gender) {
editText.setText(gender.toString());
}
来自代码:
binder= DataBindingUtil.bind(getView());
binder.setUser(user);
如何指定返回 Gender 对象的 getter?
我尝试了以下代码,但它似乎不是正确的方法。
@BindingAdapter ("custom:holder")
public static Gender getHolder(EditText editText) {
return Gender.valueOf(editText.getText().toString());
}
我想要实现的是,当我调用binder.getUser()时,Gender 会自动填写。
有可能吗?
【问题讨论】:
-
据我所知,数据绑定还不是两种方式
-
伙计们感谢您的 cmets,但您并没有真正以这种方式提供帮助
-
@Manza 你做不到。就是这样。
-
@pskink 错误?)
-
@pskink 双向绑定只能由 Observables 完成。在official docs中找不到任何“@=”
标签: android android-databinding