Java-почему мой цикл for только отображает последний элемент, добавленный в ArrayList? [Дубликат]

4
задан Dennis Meng 27 February 2014 в 06:27
поделиться

2 ответа

Ahhhh Я вижу проблему ... Это в классе PositionedTexture. Вы не создаете новую позицию для каждой кнопки. Таким образом, в основном все позиции кнопок указывают на Vector2.Zero.

Создание нового элемента Position - путь ...

public class PositionedTexture {
public Texture Texture;
public Vector2 Position;

public PositionedTexture(String texturePath) {
    Texture = new Texture(Gdx.files.internal(texturePath));
    Position = Vector2.Zero;
}

public PositionedTexture(String texturePath, Vector2 position) {
    Texture = new Texture(Gdx.files.internal(texturePath));
    Position = position;
}
4
ответ дан Gurubaran 18 August 2018 в 01:40
поделиться
  • 1
    Это определенно помогло. Я вижу, что инициализация объекта со статическим значением действует в java, чем в c #. – Kendy E. Benold 27 February 2014 в 04:56
  • 2
    Я вижу, что вы здесь новые. Можете ли вы проголосовать за мой ответ и принять его, если это поможет? – Gurubaran 27 February 2014 в 04:57

Убедитесь, что вы не поместили один и тот же экземпляр объекта во все позиции списка массивов - другими словами добавьте один и тот же элемент снова и снова. Вот что могло бы вызвать поведение, которое вы видите.

4
ответ дан Chris Gerken 18 August 2018 в 01:40
поделиться
  • 1
    Это определенно помогло. Я вижу, что инициализация объекта со статическим значением действует в java, чем в c #. См. Ответ от Гурубарана. Спасибо вам обоим – Kendy E. Benold 27 February 2014 в 04:57
Другие вопросы по тегам:

Похожие вопросы: