我正在编写一个 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.