コードのこの部分でエラーが発生する理由はわかりませんが、リストからアイテムを削除し、同時にそれを反復処理すると、この例外が発生することはわかっています。同期化は別のアイデアになると読みましたが、それが常に正しいアプローチであるとは限りません。LogCatwhile (sw.hasNext())
は行の ConcurrentModificationException を示します。私のコードの他の部分はリストにまったく影響を与えないことに注意してください。
Iterator<Weapons> sw = Selected_Weapons.iterator();
while (sw.hasNext()) {
Weapons www = sw.next();
if (www.getY()<648){
Iterator<Container> cit2 = Containers.iterator();
while (cit2.hasNext()) {
Container c = cit2.next();
if (c.getWeaponID()==www.id){
c.setWeaponID(-1);
c.setIsEmpty(true);
Selected_Weapons.remove(www);
}
}
}
}
どうすればこれを解決できますか?