我正在编写一个 Kotlin 应用程序并使用 Firestore 作为我的数据库。我有 2LiveData
秒来保存我当前用户的数据,定义如下:
private val userDocument = MutableLiveData<DocumentSnapshot?>()
val userData = Transformations.map(userDocument) { it?.toObject(UserModel::class.java) }
不知何故userData
为空,所有对它的引用(例如userData.value?.id
:)抛出:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object androidx.lifecycle.LiveData.getValue()' on a null object reference
如果我添加?
( userData?.value?.id
),我会得到Unnecessary safe call on a non-null receiver of type LiveData<UserModel?>
棉绒。怎么可能Transformations.map(...)
返回null?
顺便说一句:我看到了这个类似的问题,但就我而言,我确实初始化了引用的MutableLiveData
.