在MutableLiveData变量上调用postValue时,公开的LiveData调度如何变化?

问题描述 投票:0回答:1

在ViewModel中:

private var _someData : MutableLiveData<Boolean> = MutableLiveData()
var someData: LiveData<Boolean> = _someData

public fun someMethod(){
    _someData.postValue(true)
}

在片段中:

viewModel.someData.observe(this, Observer {
    //change posted on MutableLiveData but this LiveData received the changes.
})

由于someData_someData是2个不同的变量,即使将值张贴在onChanged()上并观察到暴露的someData发生了变化,如何调用_someDataLiveData方法?

android kotlin android-livedata mutablelivedata
1个回答
0
投票

两个变量都引用相同的对象。唯一的区别是您要公开LiveData,因此客户端无法修改其值。因为它只是一个对象,所以当您更新_someData时,someData也将被更新。

© www.soinside.com 2019 - 2024. All rights reserved.