我有RealmResults<Section>
个RealmList<Event>
字段,我想在每个部分清除。
我已经尝试过(insudemRealm.executeTransaction)
for (Section section : mSections) {
section.getEvents().clear();
}
和
Iterator<Section> sectionIterator = mSections.iterator();
while (sectionIterator.hasNext()) {
sectionIterator.next().getEvents().clear();
}
但Realm抛出此异常
java.util.ConcurrentModificationException:没有外面的 迭代RealmResults时允许对Realm进行更改。使用 而是迭代器方法。
答案 0 :(得分:7)
由于您实际上并没有删除正在迭代的元素,因此您可以使用传统的for循环:
for (int i = 0; i < mSections.size(); i++) {
mSections.get(i).getEvents().clear();
}
请注意,如果您确实需要使用Iterator
删除元素,则需要在remove()
本身使用Iterator
方法。