我有一个关于MutableLiveData in Viewmodel的问题。仅仅是setValue函数的MutableLiveData触发观察吗?如果我们改变MutableLiveData witout setValue的内容,它会被触发吗?
发布于 2019-01-13 13:15:18
我怀疑。只有下面的方法将事件分派给可观察到的:
liveData.postValue("a");
liveData.setValue("b");https://developer.android.com/reference/android/arch/lifecycle/MutableLiveData
发布于 2020-02-25 15:39:29
只有当您调用setValue或postValue时,它才会触发。如果您使用Kotlin,那么您可以编写一个扩展来触发LiveData。
fun <T> MutableLiveData<T>.trigger() {
value = value
}然后你可以简单地打电话:
mutableLiveData.trigger()发布于 2019-02-14 15:59:55
setValue()和postValue都将触发这些事件。唯一的区别是,postValue()也可以从后台线程触发观察事件。但是,必须在主线程中调用setValue。postValue()优先于setValue()。
https://stackoverflow.com/questions/52955500
复制相似问题