我在处理地图时遇到此错误(使用 GetDirection API 在地图上画线)。我使用过 CopyOnWriteArrayList ,但它有时会引发 ConcurrentModification 异常。
CopyOnWriteArrayList<GeoPoint> pointArray;
pointArray = parcer.getDirectionParcer(jsonObject);
GeoPoint gp1;
GeoPoint gp2 = src;
Iterator<GeoPoint> it1 = pointArray.iterator();
//for(int i=0;i<pointArray.size();i++) // the last one would be crash
Utility.debugger("2");
while (it1.hasNext()) {
try {
gp1 = gp2;
gp2 = (GeoPoint) it1.next();
mMapView.getOverlays().add(new MyOverLay(gp1,gp2,2,color));
} catch (ConcurrentModificationException e) {
Utility.debugger("exception");
e.printStackTrace();
}
}
它给出了错误it1.next()
。