我有一个关于MutableLiveDatain的问题Viewmodel。只是触发观察setValue的功能吗?MutableLiveData如果我们改变MutableLiveDatawitout的内容setValue,它会被触发吗?
1360 次
3 回答
1
它只会在您调用setValue或时触发postValue。如果您使用 Kotlin,那么您可以为自己编写一个扩展来触发LiveData:
fun <T> MutableLiveData<T>.trigger() {
value = value
}
然后你可以简单地调用:
mutableLiveData.trigger()
于 2020-02-25T15:39:29.417 回答
1
我对此表示怀疑。只有下面的方法将事件发送到可观察对象:
liveData.postValue("a");
liveData.setValue("b");
https://developer.android.com/reference/android/arch/lifecycle/MutableLiveData
于 2019-01-13T13:15:18.490 回答
0
&都会触发事件setValue()。postValue唯一的区别是,postValue()也可以从后台线程触发观察事件。然而,setValue必须在主线程中调用。
postValue()优于setValue()。
于 2019-02-14T15:59:55.810 回答