问题描述
我从 api 获取对象列表并使用 Realm
将该列表存储在本地数据库中。我能够存储和获取数据。但是当我从领域数据库获取数据时,列表中对象的顺序与来自 api 的列表不同。我正在分享代码片段
fun insertStatuses(statuses: List<Eis>) {
realm.executeTransaction { transaction ->
statuses.forEach { eis->
transaction.insertOrUpdate(eis)
}
}
}
fun fetchAllStatuses(): RealmResults<Eis>? {
return realm.where<Status>().findAll()
}
mViewModel?.fetchAllStatuses()?.let { results ->
status.clear()
status.addAll(realm.copyFromRealm(results))
statusAdapter?.notifyDataSetChanged()
}
编辑
我也尝试在模型类中添加一个字段,该字段将保持 api 索引仍然无效
fun insertStatuses(eises: List<Eis>) {
realm.executeTransaction { transaction ->
eises.forEachIndexed { index,eis ->
Log.d("eis_index_value",index.toString())
Log.d("eis_index_value",eis.name)
val mEis = Eis()
mEis.apply {
eisApiPosition = index + 1
Log.d("eis_index_position",eisApiPosition.toString())
_id = eis._id
name = eis.name
transaction.insertOrUpdate(this)
}
}
}
}
Log 正在打印正确的值,但是当我获取这些对象时,每个对象中的 index
值都被弄乱了。
谁能帮我解决这个问题
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)