说明:
虽然android可使用<data>数据岛实现bean和view元素的绑定,不过对于一天到晚杀鸡拔毛的人来说,这种宰牛刀始终是用起来不够直观顺手。
日常中,大多是有一说一,直观操作会更多一些。
下面就是在最简单的情况下,实现对EditText与数据
数据变化EditText跟着变化:
也许使用LiveData更加高大上,但这需要对可能牵扯的东西很多,对资源充足的新项目或许会选择
但对于仅仅是完善项目或者仅仅是查询显示这样的小功能,直接手动更改更加简单明了。
etInfo.setText(dataInfo.getInfo());
EditText改变对应数据跟着改变:
检测到输入框内容变化,直接修改变量内容,而不需要再次获取。
EtChanged(etInfo, (editable) -> {
dataInfo.setInfo(editable.toString());
});
public static void EtChanged(EditText et, TextViewBindingAdapter.AfterTextChanged textChanged) {
et.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
}
@Override
public void afterTextChanged(Editable arg0) {
if (textChanged != null) {
textChanged.afterTextChanged(arg0);
}
}
});
}
关于: