2017-07-29 94 views
1

致命的异常模式的不部分:主境界与科特林

java.lang.IllegalArgumentException:  
    student_relam_pojo is not part of the schema for this Realm at io.realm.internal.modules.CompositeMediator.getMediator(CompositeMediator.java:118) at io.realm.internal.modules.CompositeMediator.getTableName(CompositeMediator.java:71) at io.realm.Realm.getTable(Realm.java:327) 
at io.realm.Realm.createObject(Realm.java:1085)at example.com.kotlinexamplebydimple.RealmActivity$onCreate$1.onClick(RealmActivity.kt:24) 

VAL境界= Realm.getInstance(此@ RealmActivity)

btn_click.setOnClickListener { 

     realm.beginTransaction() 
     var pojo : student_relam_pojo ? 
       pojo = realm.createObject(student_relam_pojo::class.java) 
     pojo.nm = edt_name.text.toString() 
     pojo.pass = edt_pass.text.toString() 
     realm.commitTransaction() 
     } 

Student_realm_pojo

public open class student_relam_pojo() : RealmObject() 
{ 
    public open var nm : String ?= null 
    public open var pass : String ?= null 
} 
+0

我们需要知道以下事情:1.)领域版本2.)应用Gradle插件顺序3.)是库模块或应用程序内的RealmObjects – EpicPandaForce

回答

0

1.)您应该至少使用Realm 2.3.0以便可靠地使用KAPT

2)你的插件顺序应该是这样的:

apply plugin: 'com.android.application' 
apply plugin: 'kotlin-android' 
apply plugin: 'kotlin-kapt' 
apply plugin: 'realm-android' 

3)如果您使用的是库模块中定义RealmObjects,你需要使用@RealmModule S中RealmConfiguration明确指定,见here

4.)你可能已经添加了这个类而没有提供它的迁移。考虑提供迁移,或者设置deleteIfMigrationNeeded()