Объект синтаксического анализа указан как
val parser = object : SnapshotParser<FriendlyMessage>
Здесь FriendlyMessage
не имеет значения NULL и переопределенная функция parseSnapshot
также имеет тот же тип FriendlyMessage
.Есть 2 способа исправить ошибку.Возвращаемый объект может быть изменен на ненулевой, как это
return friendlyMessage!!
Обратите внимание, что используя !!не рекомендуется, так как он генерирует дополнительный код для проверки на нуль и выдачи исключения в случае нуля.
Вторым решением будет указание типа как обнуляемого.
mFirebaseDatabaseReference = FirebaseDatabase.getInstance().reference
val parser = object : SnapshotParser<FriendlyMessage?> {
override fun parseSnapshot(dataSnapshot: DataSnapshot): FriendlyMessage? {
val friendlyMessage = dataSnapshot.getValue(FriendlyMessage::class.java)
friendlyMessage?.setId(dataSnapshot.key!!)
return friendlyMessage
}
}