RealmObjects的位置在删除时发生变化

时间:2019-07-07 18:29:43

标签: java android realm

假设我的领域数据库中有三个对象/元素:-

  1. A
  2. B
  3. C

当我使用deleteFromRealm()方法删除第一个元素(即A)时,其余两个对象的位置将发生如下变化:-

  1. C
  2. B

而不是:-

  1. B
  2. C

我想知道为什么会这样。以下是我的代码:-

public void onSwipe(int adapterPosition) {
    .
    .
    realm.beginTransaction();
    activity.getReminders().get(adapterPosition).deleteFromRealm();  //activity.getReminders() returns the RealmResults object
    realm.commitTransaction();
}

1 个答案:

答案 0 :(得分:1)

您需要对结果进行排序以保持所需的顺序。 doc中的示例:

result = result.sort("age"); // Sort ascending
result = result.sort("age", Sort.DESCENDING);

https://realm.io/docs/java/latest/#sorting