No se puede inicializar el analizador de objects para el model. Productos, no se encontraron constructores aceptables

Sigo SQLite sin estrés con Anko para aprender Kotlin, así que creé la class

data class Products(val id: Long, val name: String, val description: String, val price: Long, val image: String, val status: String, val type: String ) { companion object { val TABLE_NAME = "gdbl_products" val COLUMN_ID = "id" val COLUMN_NAME = "name" val COLUMN_DESCRIPTION = "description" val COLUMN_PRICE = "price" val COLUMN_IMAGE = "image" val COLUMN_STATUS = "status" val COLUMN_TYPE = "type" } } 

En Activity.kt llamo:

 var rowParser = classParser<Products>() => exception show: Can't initialize object parser for model.Products, no acceptable constructors found 

Por favor, dime, sé por qué y cómo solucionarlo

La implementación de esta parte de la classParser<T>() parece a

 val applicableConstructors = clazz.declanetworkingConstructors.filter { ctr -> if (ctr.isVarArgs || !Modifier.isPublic(ctr.modifiers)) return@filter false val types = ctr.parameterTypes return@filter types != null && types.isNotEmpty() && types.all(::hasApplicableType) } 

Entonces debe averiguar por qué su constructor no cumple con estos requisitos. No debe usar varArgs , debe ser público y debe tener types de parameters aplicables. A primera vista, todo se ve bien, pero es posible que pueda probar qué partes están equivocadas eliminando los parameters individuales hasta que funcione.

Además, y tal vez no relacionado, el ejemplo define val Book.COLUMN_ID = "id" dentro del acompañante, mientras que usted solo define val COLUMN_ID = "id" . El primero es una propiedad de extensión, mientras que el suyo es propiedad del object complementario.

  • Cómo mostrar datos usando la vista de tree de TornadoFX
  • ¿Para qué sirve emptyArray () en Kotlin?
  • ¿Cómo se implementa la aplicación fetch?
  • Accediendo al object de class Kotlin desde Java
  • Incrementos causa falla de compilation
  • Kotlin JPA encapsula OneToMany
  • Kotlin: ¿Cómo replace el fragment ya abierto con un nuevo fragment en el estudio de Android?
  • Regreso de forEachLine
  • Spring Boot: no puede include recurso estático
  • Android: ¿Cómo llamar a la function ndk de Kotlin?
  • Suprima las quejas de Dokka sobre "No hay documentation para com.foo.Bar $ toString ()"?