3

我有一个关于MutableLiveDatain的问题Viewmodel。只是触发观察setValue的功能吗?MutableLiveData如果我们改变MutableLiveDatawitout的内容setValue,它会被触发吗?

4

3 回答 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 回答