for (ColouredPaths p : mTouches) {
if(erase){
if(p!=null)
{ mTouches.remove(p);}
}
为什么会发生这种情况以及如何修复?
答案 0 :(得分:0)
如果您获得ConcurrentException
,则表示您正在循环浏览您正在修改的列表。在ArrayLists中,您无法执行此操作。尝试使用Queue
这样的代替ArrayList
:
Queue<ColouredPaths> mTouches = new ConcurrentLinkedQueue<>();
你可以用同样的方式遍历它,但它不应该再崩溃了。