使用distinctUntilChanged()转换的LiveData返回null



假设我们有一个简单的模型类:

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((转换,它可以正常工作。

您必须使用observeLiveData才能从另一个MutableLiveData实例填充其value

相关内容

  • 没有找到相关文章

最新更新