假设我们有一个简单的模型类:
data class Model(val value: Int)
并且我们将该模型封装到LiveData
:中
val model1 = MutableLiveData<Model>()
现在我们可以创建第二个使用model1
:的变量
val model2 = model1.distinctUntilChanged()
让我们将值设置为model1
,并打印两种型号的值">
model1.value = Model(0)
print(model1.value.toString()) // Model(value=0)
print(model2.value.toString()) // null
问题是model2.value
为空。当然,如果我删除distinctUntilChanged((转换,它可以正常工作。
您必须使用observe
LiveData才能从另一个MutableLiveData
实例填充其value
。