gpt4 book ai didi

android - 如何在 RealmResults 上执行交换功能

转载 作者:行者123 更新时间:2023-12-05 07:45:43 24 4
gpt4 key购买 nike

@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 未处于托管模式。

最佳答案

我相信您需要使用复制非托管集合

copyToRealmOrUpdate方法:

// Initialize Realm
Realm.init(context);
// Get a Realm instance for this thread
Realm realm = Realm.getDefaultInstance();
realm.copyToRealmOrUpdate(results);

关于android - 如何在 RealmResults 上执行交换功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41407384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com