SugarORM + Kotlin: list de reference no modificada "listAll"

Estoy tratando de usar el magnífico Kotlin y SugarORM en combinación para el desarrollo de Android y tengo mis models configurados así:

import com.orm.SugarRecord public class Contact : SugarRecord<Contact>() { var name : String = "" var phoneNumber : String = "" var info : String? = null } 

Por supuesto, también he cambiado el AndroidManifest.xml :

 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" tools:replace="android:icon" android:name="com.orm.SugarApp"> <meta-data android:name="DATABASE" android:value="database.db" /> <meta-data android:name="VERSION" android:value="1" /> <meta-data android:name="QUERY_LOG" android:value="true" /> <meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="/* same as package attribute on manifest element */" /> <activity>…</activity> </application> 

Ahora estoy tratando de usar el model dentro de MainActivity.kt :

 override fun onCreateOptionsMenu(menu: Menu?): Boolean { val contacts = Contact.listAll(javaClass(Contact)) // or val contacts : List<Contact> = Contact.listAll(javaClass(Contact)) return true } 

Pero obteniendo el error Unresolved reference: listAll , lo que significa que la llamada al método estático falló por algún motivo. Lo mismo con methods como find … ¿pasé por alto algo?

Gracias de antemano por cualquier ayuda.

    Como esos son methods estáticos, debe llamarlos a la class declarante SugarRecord . Tu código debería ser:

     SugarRecord.listAll(Contact::class.java) 

    A falta de una mejor explicación, esto parece ser un error de Kotlin. Parece que los methods estáticos no son henetworkingados. Creando una class de ayuda como esta:

     public class ModelHelper { public static List<Contact> getAllContacts() { return Contact.listAll(Contact.class); } } 

    y llamando a esto desde el código de Kotlin como

     override fun onCreateOptionsMenu(menu: Menu?): Boolean { val contacts = ModelHelper.getAllContacts() return true } 

    trabajos.