【问题标题】:How to insert object RealmList with copyToRealm如何使用 copyToRealm 插入对象 RealmList
【发布时间】:2017-11-01 09:08:47
【问题描述】:

我尝试将 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

【问题讨论】:

标签: android kotlin realm


【解决方案1】:

终于找到了解决办法。感谢mr.developer

realm.copyToRealmOrUpdate(data)

【讨论】:

  • 很高兴为您提供帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 2013-11-24
  • 2019-08-15
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多