2017-07-29 130 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()