#### 只要使用过一段时间的LiveData就会发现,LiveData会经常多次回调数据。我们经常碰到的这个问题。
[SingleLiveEvent]类是为一个示例创建的,作为一个解决方案,它适用于该特定场景。它是一个只发送一次更新的livedata。
目前大概的理解就是:你还是可以用这个类的,为他的变量赋值,之后用binding.setxxx();依旧可以更新ui。
但是xml里面的,不需要binding.setXXX的。那些只会被通知一次。比如:这种形式的
SingleLiveEvent<Student> bean =new SingleLiveEvent<>();
android:checked="@{bean.alwaysMode}"
SingleLiveEvent,还是可以使用双向绑定的,里面的值也会发生变化,只是不会主动往页面上更新,需要手动更新。
网友评论