【发布时间】:2015-04-27 21:22:40
【问题描述】:
我有一个 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: 没有外部 迭代 RealmResults 时允许对 Realm 进行更改。采用 迭代器方法。
【问题讨论】:
-
getEvents()返回了什么?另一个ArrayList? -
Events 对象是一个
RealmList<Event>,它几乎是一个 ArrayList -
您是否尝试过仅使用传统的 for 循环?这可能会起作用,因为您实际上并没有删除您正在迭代的项目。
-
我不敢相信我以前没有尝试过!成功了,谢谢!
标签: java android iterator realm