Cloud Firestore – QuerySnapshot.toObjects выбрасывает ненулевой указатель

Я наткнулся на странную проблему. Я пытаюсь выполнить простую вещь – конвертировать все из QuerySnapshot в коллекцию определенного типа.

fun createReminder(reminder: Reminder) = remindersCollectionRef.document("${reminder.taskId}").set(reminder) fun tryRemoveReminder(taskId: Int) = remindersCollectionRef.document("$taskId").delete() fun getReminders(onComplete: (List<Reminder>) -> Unit) { remindersCollectionRef.get() .addOnSuccessListener { querySnapshot -> if (!querySnapshot.isEmpty) onComplete(querySnapshot.toObjects(Reminder::class.java)) } } 

Проблема заключается в функции getReminders. Я знаю, что в сборнике есть одно напоминание. Это также 100% напоминания типа, и, как вы можете видеть, я уже проверяю, не является ли querySnapshot пустым. Тем не менее, я получаю исключение нулевого указателя при вызове toObjects.

Трассировки стека:

 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[])' on a null object reference at com.google.android.gms.internal.zzevb$zza.zza(Unknown Source:57) at com.google.android.gms.internal.zzevb.zza(Unknown Source:1025) at com.google.android.gms.internal.zzevb.zza(Unknown Source:2) at com.google.firebase.firestore.DocumentSnapshot.toObject(Unknown Source:10) at com.google.firebase.firestore.QuerySnapshot.toObjects(Unknown Source:27) at com.mypackage.util.FirestoreUtil$Companion$getReminders$1.onSuccess(FirestoreUtil.kt:131) at com.mypackage.util.FirestoreUtil$Companion$getReminders$1.onSuccess(FirestoreUtil.kt:18) at com.google.android.gms.tasks.zzj.run(Unknown Source:27) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

Класс напоминания:

 data class Reminder(val taskDocRef: DocumentReference, val taskId: Int) 

Этот вопрос кажется мне действительно странным. Буду признателен за вашу помощь 🙂

Intereting Posts
Kotlin Pass в типе, который реализует параметризованный интерфейс Как сопоставить строку JSON с Kotlin Map Мутатная строка из расширения Gradle. Котлин – возможно ли создать динамические задачи («на лету»)? RuntimeException: не удалось создать экземпляр активности ComponentInfo … ClassNotFoundException Как получить доступ к переменной экземпляра в статическом сопутствующем объекте в Koltin Сортировка списка по заказу другого списка Как использовать перемычку Котлин с дооснащением? Библиотека Kotlin AAR с proguard: как сохранить методы расширения? Как вы создаете многоплатформенную сборку Kotlin? Функция типа Ketlin reified как расширение функции – Вызывается с Java? Как конвертировать JS-код в Kotlin без ключевого слова 'new' Аннотации в Котлине не работают Файл открытого актива Android Kotlin Как создать сложный класс, который может предложить некоторые классы для расширения в будущем в Котлине?