@Override
public boolean onItemMove(int fromPosition, int toPosition) {
RealmList<Note> results = new RealmList<>();
results.addAll(mNotes.subList(0, mNotes.size()));
if (fromPosition < toPosition) {
for (int i = fromPosition; i < toPosition; i++) {
Collections.swap(results, i, i + 1);
}
} else {
for (int i = fromPosition; i > toPosition; i--) {
Collections.swap(results, i, i - 1);
}
}
mNotes = results.where().findAll();
notifyItemMoved(fromPosition, toPosition);
return true;
}
我想执行交换功能以重新排列适配器中项目的顺序。基本上我正在处理项目列表和拖放我想重新排列顺序。我所做的是我从 RealmResults mNotes 复制值到 RealmList 结果并完成交换。如何将其放回 Realm 数据库?
mNotes = results.where().findAll(); 这行代码是不可能的,因为 RealmList 不是托管模式。