在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
是两个不同的变量,因此即使在onChanged()
上发布了值并且进行了更改,如何调用someData
的{{1}}方法观察到暴露的_someData
吗?
答案 0 :(得分:0)
两个变量都引用相同的对象。唯一的区别是您要公开 k = numpy.array([i*y for y in range(0,N/2) + [0] + range(-N/2+1,0)])
,以使客户端无法修改其值。由于它只是一个对象,因此在更新 File "test2.py", line 11, in <module>
k = np.array([i*y for y in range(0,int(N/2))+[0]+range(int(-N/2+1),0)])
TypeError: unsupported operand type(s) for +: 'range' and 'list'
时,LiveData
也将更新。