RealmObjects 的位置在删除时改变

Positions of RealmObjects change on deletion

假设我的领域数据库中有三个 objects/elements:-

  1. 一个
  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();
}

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

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

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