- Notifications
You must be signed in to change notification settings - Fork1.8k
Closed
Description
Hi, I have such exception even I using iterators methods:
Realm version 0.75.1, Android studio 1.0rc2
Caused by: java.util.ConcurrentModificationException: No outside changes to a Realm is allowed while iterating a RealmResults. Use iterators methods instead. at io.realm.RealmResults.assertRealmIsStable(RealmResults.java:405) at io.realm.RealmResults.access$200(RealmResults.java:44) at io.realm.RealmResults$RealmResultsIterator.hasNext(RealmResults.java:422) at com.coachesdirectory.coach.db.RealmHelper$5.doInBackground(RealmHelper.java:360) at com.coachesdirectory.coach.db.RealmHelper$5.doInBackground(RealmHelper.java:347) at android.os.AsyncTask$2.call(AsyncTask.java:288) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)
Here is part of my code:
****AsyncTask*****List<SchoolResult> favoriteSchools = params[0];Realm realm = Realm.getInstance(context);realm.beginTransaction();// Set all schools to removeRealmResults<RealmSchoolResult> markToRemove = realm.where(RealmSchoolResult.class) .equalTo("userAccountId", userId) .findAll();Iterator<RealmSchoolResult> schoolResultIterator = markToRemove.iterator();while (schoolResultIterator.hasNext()) { // Crash at this line RealmSchoolResult realmSchoolResult = schoolResultIterator.next(); realmSchoolResult.setNeedRemove(true);}