如何用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)