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 столь же быстрыми, как эквивалент с Java-примитивами? В чем разница между именем var: String? и имя var: String Тест в Котлине не может получить доступ к защищенному методу Строитель типа Builder? Как перевести это в котлин? Добавление объектов JSON в существующий файл JSON Kotlin и Android TextWatcher с функциями CharSequence / String kotlin map добавляет значение, если не равно Данные фильтра для FirebaseRecyclerAdapter Котлинский ленивый блок не выполняется при использовании Mockito и InjectMocks Как настроить пакетную загрузку с помощью gradle-script-kotlin как я могу преобразовать InputStream в BufferInputStream в kotlin string array literal? Как я просто его кодирую? Google Assistant SDK отказывается от аутентифицированного канала как «НЕОПРЕДЕЛЕННЫЙ» Как я могу сфотографировать свой sdk, закодированный с kotlin (и избавиться от метаданных) Параметр функции Kotlin: Val не может быть переназначен