如何用copyToRealm插入对象RealmList

我尝试将RealmList对象插入到领域数据库

模型数据类

open class Data : RealmObject() { @SerializedName("Settings") var settings: Settings? = null @SerializedName("Item") var items: RealmList<Items>? = null } fun insert(data: Data) { mRealm.executeTransactionAsync( Realm.Transaction { realm -> val mData = realm.createObject(Data::class.java) mData.settings = data.settings }, Realm.Transaction.OnSuccess { Log.e("setting", "success") } ) } 

但它的错误值不是一个有效的管理对象。 然后我从这个链接https://github.com/realm/realm-java/issues/5238找到解决方案

 fun insert(data: Data) { mRealm.executeTransactionAsync( Realm.Transaction { realm -> val mData = realm.createObject(Data::class.java) mData.settings = realm.copyToRealm(data.settings) }, Realm.Transaction.OnSuccess { Log.e("setting", "success") } ) } 

当我尝试在此解决方案中插入RealmList是行不通的。 请大家多多帮助。

 val mData = realm.createObject(Data::class.java) mData.settings = realm.copyToRealm(data.settings) //setting is common object mData.item = realm.copyToRealm(data.item) //item is RealmList 

最后我找到解决办法。 感谢mr.developer

 realm.copyToRealmOrUpdate(data)