Libgdx 向列表中添加新对象

Libgdx 向列表中添加新对象,libgdx,concurrentmodification,Libgdx,Concurrentmodification,我有一个游戏,玩家跳过砖块,然后砖块消失。当我的球员死后,我想再次创造那些方块。 这是我的班级 private Rectangle full, top; private Sprite sprite; private static ArrayList<Integer> list = new ArrayList<Integer>(); // list of block coordinates private int x, y; // block coo

我有一个游戏,玩家跳过砖块,然后砖块消失。当我的球员死后,我想再次创造那些方块。 这是我的班级

private Rectangle full, top;
    private Sprite sprite;
    private static ArrayList<Integer> list = new ArrayList<Integer>(); // list of block coordinates
    private int x, y; // block coordinates
    public static int count, discount; // count - all blocks // discount - removed blocks

        public WeekBrick(int x, int y){
            this.x = x;
            this.y = y;

            list.add(x);
            list.add(y);

            count++;
            discount = count;
            full = new Rectangle(0, 0, 64, 64); 
            top = new Rectangle(0, 46, 64, 20);
            sprite = new Sprite(TextureManager.weekBrick);
            sprite.setSize(64, 64);
            setPosition(x, y);
         }
    }
在这里我添加了新的砖块

private void addWeekBricks(){
    for(int i = 0; i < (2 * WeekBrick.count); i++){
        list.add(new WeekBrick(WeekBrick.getItemFromList(i), WeekBrick.getItemFromList(++i), true));
    }
}
为什么我会犯这个错误?我做错了什么? 编辑: 当我做这个的时候

if(Gdx.input.isKeyJustPressed(Input.Keys.M)){
            for(int i = 0; i < (2 * WeekBrick.count); i++){
                list.add(new WeekBrick(WeekBrick.getItemFromList(i), WeekBrick.getItemFromList(++i), true));
            }
        }
if(Gdx.input.isKeyJustPressed(input.Keys.M)){
对于(int i=0;i<(2*WeekBrick.count);i++){
add(新的WeekBrick(WeekBrick.getItemFromList(i),WeekBrick.getItemFromList(++i),true));
}
}

在我的渲染方法中,当我按下M时,所有工作都正常!那怎么可能呢?当我“进入”游戏并按下M时,所有砖块都会更新,并且工作正常,但当我失败时,我会得到一个例外…

可能重复的砖块不会重复。我有一个错误,我添加而不是删除。我的手机很好用。
Exception in thread "LWJGL Application" java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
    at java.util.ArrayList$Itr.next(Unknown Source)
    at com.mygdx.game.MyGame.mainGame(MyGame.java:484)
    at com.mygdx.game.MyGame.render(MyGame.java:189)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:214)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:120)
if(Gdx.input.isKeyJustPressed(Input.Keys.M)){
            for(int i = 0; i < (2 * WeekBrick.count); i++){
                list.add(new WeekBrick(WeekBrick.getItemFromList(i), WeekBrick.getItemFromList(++i), true));
            }
        }