这是我关于StackOverflow的第一个问题,因此,如果我做错了什么,请帮助我。
我一直在使用Kotlin和Firebase Firestore开发一个Android应用程序,并且我有一个具有通用类型 T 属性的数据类。
好吧,我的问题是:尝试使用toObject方法将Firestore对象解析为我的POJO时出现错误。错误消息说使用GenericTypeIndicator,但是在Firestore SDK中不存在。我尝试安装Firebase数据库SDK来导入此接口,但效果不佳。
这是我的POJO课:
@Parcelize
data class Policy<T : Parcelable>(var id: String = "",
var type: String = "",
var paid: Boolean = false,
var price: Double = 0.0,
var uid: String = "",
var policy: T? = null) : Parcelable
这是我的存储库方法:
override fun getPolicies(uid: String): Single<List<Policy<T>>> =
Single.create {emitter ->
db.collection(POLICIES_COLLECTION)
.whereEqualTo(FIELD_UID, uid)
.get()
.addOnSuccessListener {
emitter.onSuccess(it.toObjects(Policy::class.java) as List<Policy<T>>)
}
.addOnFailureListener {
emitter.onError(it)
}
}
任何人都可以帮助我弄清楚如何使其工作吗?