假设我有一个“blob”对象的ArrayList,我会循环遍历并将它们绘制到画布上。
for (blob b:myBlobList)
{
canvas.drawCircle(b.X, b.Y, b.Size, paint);
}
我还有一个onTouchListener,每当触摸表面时就会添加一个新的blob对象。
if (event.getAction() == android.view.MotionEvent.ACTION_DOWN)
{
myBlobList.add(new blob());
myBlobList.get(myBlobList.size()-1).X = event.getX();
myBlobList.get(myBlobList.size()-1).Y = event.getY();;
}
然而它们共同导致了一个ConcurrentModificationException错误。您有什么建议,应该如何修复它?只需添加 是不够的。
try{ ... } catch (ConcurrentModificationException e) {}
当发生此异常时,屏幕/画布会闪烁,而且会频繁发生。 :)
谢谢!