Android 直接访问时,MutableLiveData的值错误

Android 直接访问时,MutableLiveData的值错误,android,android-mvvm,Android,Android Mvvm,我有一个模型: class SharedViewModel : ViewModel() { var connected = MutableLiveData(false) fun setConnected(value: Boolean) { connected.postValue(value) } } 设置值时: viewModel.setConnected(true) 然后这样观察: viewModel.connected.observe(viewLifecycleOwner,

我有一个模型:

class SharedViewModel : ViewModel() {
var connected = MutableLiveData(false)

fun setConnected(value: Boolean) {
    connected.postValue(value)
 }
}
设置值时:

viewModel.setConnected(true)
然后这样观察:

viewModel.connected.observe(viewLifecycleOwner, {
Log.d(RTAG, "Connected: $it")
})
它按预期工作。但有时我需要直接访问值,而不是像这样观察变化:

 viewModel.setConnected(true)
 Log.d(RTAG, "Res: "+viewModel.connected.value) //printed old result, why?

然后我得到了旧的结果,为什么呢?

postValue
方法不会立即更改值。它应该在后台线程中使用。尝试使用
setValue
,该方法应仅在主线程上调用,并立即设置值。

postValue方法不会立即更改值。它应该在后台线程中使用。请尝试使用setValue,它应该只在主线程上调用。@JudeOsbertK请将其作为答案发布。