gpt4 book ai didi

java - Realm :迭代 RealmObject 并清除 ArrayList 字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:24 25 4
gpt4 key购买 nike

我有一个 RealmResults<Section>有一个 RealmList<Event>我想在每个部分清除的字段。

我试过了(包括 mRealm.executeTransaction)

for (Section section : mSections) {
section.getEvents().clear();
}

Iterator<Section> sectionIterator = mSections.iterator();
while (sectionIterator.hasNext()) {
sectionIterator.next().getEvents().clear();
}

但是 Realm 抛出了这个异常

java.util.ConcurrentModificationException: No outside changes to a Realm is allowed while iterating a RealmResults. Use iterators methods instead.

最佳答案

由于您实际上并没有删除正在迭代的元素,因此您可以只使用传统的 for 循环:

for (int i = 0; i < mSections.size(); i++) {
mSections.get(i).getEvents().clear();
}

请注意,如果您确实需要使用 Iterator 删除元素,则需要在 Iterator 上使用 remove() 方法本身。

See Documentation

关于java - Realm :迭代 RealmObject 并清除 ArrayList 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29906172/

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