EditText和自定义类字段之间的双向数据绑定

时间:2019-08-18 05:32:05

标签: android kotlin android-databinding android-livedata two-way-binding

我有一个自定义类名称FormData,它存储四个String字段。在每个字段的set()方法中,我对该字段调用trim()函数。我创建一个MutableLiveData并将FormData的实例放入ViewModel中。我创建了四个EditText,并在布局文件中为每个字段(例如android:text="@={formData.firstName}")设置了双向绑定。我看到从EditText检索值,将其修剪并存储在FormData实例的相关字段中。但是,EditText不会更新,未修饰的文本仍然存在。如何以这种方式成功实现双向绑定? Google的经典香草示例当然不会像往常一样有用。

1 个答案:

答案 0 :(得分:0)

要使双向绑定在UI上起作用,您需要对setValue()使用LiveData方法。我为此做了example