Это мой первый вопрос о StackOverflow, поэтому, если я делаю что-то не так, пожалуйста, помогите мне.
Я работаю над приложением для Android, используя Kotlin и Firebase Firestore, и у меня есть класс данных ссвойство общего типа T .
Что ж, моя проблема в том, что я получаю сообщение об ошибке при попытке использовать метод toObject для анализа объекта Firestore в моем POJO.В сообщении об ошибке говорится об использовании GenericTypeIndicator, но его нет в Firestore SDK.Я попытался установить Firebase Database 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)
}
}
Кто-нибудь может помочь мне понять, как заставить это работать?