我想将代码1的一种数据绑定方式转换为代码2的两种数据绑定方式,这是我的代码正确的原因;如果做得好,我就不愿意。
//代码1
‹EditText android:text="@{user.name} "
android : afterTextChanged ="@{callback.change}"/ >
public void change (Editable s ) {
final String text = s.toString();
if (!text equals(name name.get()){
name.set(text);
}
}
// Code2
<EditText android:text="@={user.name} "
android : afterTextChanged ="@={callback.change}"/ >
答案 0 :(得分:0)
请注意,类name
中的字段user
必须为ObserveableField<String>
或MutableLiveData<String>
,以便您可以删除文本更改侦听器并只需添加以下内容:
<EditText android:text="@={user.name} "/>
现在Edittext
中的所有更改都将保存在name