假设我有一个“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) {}
发生此异常时使屏幕/画布闪烁并且经常发生。:)
谢谢!