我试图从ArrayList中删除项目.有时它会弹出一个异常,“
java.util.ConcurrentModificationException”.
首先我尝试通过array_list_name.remove(i)删除它们,但它失败了,有些人被要求使用Iterator.所以我目前的代码如下.
for (Iterator<Collectable> iter = array_list_name.iterator(); iter.hasNext();) { Collectable s = iter.next(); if (s.equals(array_list_name.get(id))){ iter.remove(); return true; } }
我在视图中的onDraw()函数中调用“array_list_name”.我的观点是SurfaceView.任何人都可以建议我如何从ArrayList中删除项目而不会收到此错误.
解决方法
尝试使用java.util.concurrent.CopyOnWriteArrayList而不是ArrayList