我正在使用 MutableLiveData 来存储用户所做的选择。该值是从另一个活动设置的。所以 onResume 我正在打电话
myMutableLivedata.value = newvale
但这不会更新 UI,除非我调用 invalidateall()。
这是 MutableLiveData 的预期行为吗
我正在使用 MutableLiveData 来存储用户所做的选择。该值是从另一个活动设置的。所以 onResume 我正在打电话
myMutableLivedata.value = newvale
但这不会更新 UI,除非我调用 invalidateall()。
这是 MutableLiveData 的预期行为吗
对于LiveData
,您需要进行Observe
更改。
首先,创建您的MediatorLiveData
.
val liveData = MediatorLiveData<MyItem>()
接下来,在您的 Activity/Fragment/Etc 中,您需要调用.observe
. 触发时Observer
,它将具有更新的数据。
liveData.observe(this, Observer {
// Update the UI when the data has changed
})
最后,在代码中的其他地方,您可以更新 的值LiveData
,并且Observer
会收到通知。
// Somewhere else
liveData.value = MyItem("new value")