私はforeachループを持っており、ベクトルの各オブジェクトを反復しています。私はコードをデバッグすると、ベクトルの最初のオブジェクトに対して正常に実行されます。しかし、それは2番目のオブジェクトのループを実行しようとすると失敗します。私はですベクトルには複数の要素があります。このforeachループの何が問題ですか???? Android
for(Object shape : vecForShapes)
{
currentNode = (Drawable) shape;
newNode = getResources().getDrawable(R.drawable.nodered);
newNode.setBounds(currentNode.getBounds());
vecForShapes.remove(currentNode);
vecForShapes.add(newNode);
}
基本的に私の質問は、なぜこのループが失敗するのですか?私は本当にここで何が間違っているのか分かりません。
P.S.最終的な目的はcurrentNode
をベクターから削除し、newNode
と置き換えて、onDraw
の方法でベクター全体を再描画することです。あなたは上の反復コレクションへ/からオブジェクトを削除または追加することはできません
おかげ
あなたはどういう意味ですか?それは失敗しますか?例外がありますか? – assylias
これはおそらくあなたの問題です:http://stackoverflow.com/questions/7080208/java-exception-when-remove-a-record-inside-a-list-in-a-for-each-loop – assylias
定義を表示してくださいあなたのvecForShapesの。 – PearsonArtPhoto