Kotlin Android Firebase Database Hashmap lanzado a la class

Estoy tratando de get datos de una database de firebase. Los puntos de interrupción muestran que está obteniendo los datos, pero parece que no los estoy asignando correctamente a mi class.

que causa esta exception:

java.lang.ClassCastException: java.util.HashMap no se puede convertir a Class

override fun onDataChange(p0: DataSnapshot?) { if (p0!!.exists()){ val children = p0!!.children children.forEach { println(it.value.toString()) var item : DashboardItem = it.value as DashboardItem println(item) } } } 

esta es la export DB:

 { "dashboard" : [ { "name" : "News"}, { "name" : "Chatroom"}, { "name" : "Music"}, { "name" : "Quotes"}, { "name" : "Reminder"}, { "name" : "Poll"}, { "name" : "Suggestion"}, { "name" : "LogOut"} ] } 

el object de class que quiero crear

 data class DashboardItem(val name: String = "") 

Problema: DataSnapshot#getValue() devolverá solo native types como

 Boolean String Long Double Map<String, Object> // closest to your object representation List<Object> 

donde Map<String, Object> se devolverá como object cuando se solicite, por lo tanto, el error cuando se aplica el molde explícito

Entonces, en su lugar, use DataSnapshot#getValue(Class<T> valueType) como

 val item : DashboardItem = it.getValue(DashboardItem::class.java) 
  • Pruebas unitarias Rxjava observables que tienen un retraso
  • Para una function de Kotlin utilizada como expresión, ¿hay una forma concisa de operar y devolver un valor?
  • Cómo escribir Short / Int en buffer de 1 byte
  • Informes de Android Studio "No se pudo identificar la actividad de inicio: Actividad pnetworkingeterminada no encontrada" al crear proyectos de Kotlin
  • "No se encontraron las siguientes classs" con vista personalizada de Kotlin en el layout
  • Adjuntar fonts al proyecto de biblioteca de kotlin no aparecen en AS
  • Comprende cómo funcionan los comodines y los cartones reificados en Kotlin
  • Deserializador personalizado para cualquier list en Jackson
  • No se puede crear un oyente de events de datos de spring en Kotlin
  • Lista mutable de Obersable <Object> espere hasta que todos terminen y combínelos en una list <Object>
  • Android Kotlin Dagger2 proporciona gson: el parámetro especificado como no nulo es nulo