首页 > 解决方案 > 映射的 LiveData 在 getValue() 调用上返回 null

问题描述

我正在我的项目中构建一个视图模型,并且我编写了一个这样的 LiveData 集

private val _user = MutableLiveData<User>()
val user= _user 

val id = _user.map {
    if ( something ) {
        value 
    } else {
        null
    }
}

我面临的问题是,当我在 Fragment/Activity 中观察“id”时,我可以从“id”LiveData 接收更新,但是如果我尝试通过“id.value”从“id”获取当前值,它甚至返回 null如果“_user”liveData 已更新。

有什么理由吗?我错过了什么吗?

标签: androidmappingandroid-livedataandroid-livedata-transformations

解决方案


推荐阅读