将我的简单代码数据绑定一种方式转换为两种数据绑定方式

时间:2019-06-19 12:52:04

标签: android-databinding

我想将代码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}"/ >

1 个答案:

答案 0 :(得分:0)

请注意,类name中的字段user必须为ObserveableField<String>MutableLiveData<String>,以便您可以删除文本更改侦听器并只需添加以下内容:

<EditText android:text="@={user.name} "/>

现在Edittext中的所有更改都将保存在name