自定义arraylist按位置更改项目

时间:2015-09-01 09:34:05

标签: java android arraylist

我有一个自定义ArrayList(卡)。我在ArrayList中插入了一些项目。这是我的ArrayList Item类

public class Card {
    private int primary;

    public int getPrimary() {
        return primary;
    }

    public void setPrimary(int primary) {
        this.primary = primary;
    }
}

我想按位置更改我的int primary

 for (int j=0;j<=CardsNewFragment.card_list.size();j++) {
     CardsNewFragment.card_list.get(mCurrentPage).setPrimary(1);
     if (CardsNewFragment.card_list.get(mCurrentPage).getPrimary() == 1) {
         primaryCardSwitch.setChecked(true);
         primaryCardSwitch.setEnabled(false);
     } else {
         primaryCardSwitch.setChecked(false);
         primaryCardSwitch.setEnabled(true);
     }
  }

例如在我的ArrayList中,setPrimary()有1,0,3,现在我想按位置更改setPrimary()。例如,如果我选择第二个项目,在第二个项目中我想插入1个setPrimary()和另一个位置0或其他值 我怎么能解决我的问题?

1 个答案:

答案 0 :(得分:1)

其实我不确定我是否明白你想要什么,但我还是试试看。

public void setPrimaryForPosition(int position, int newPrimary) {

    for (int j=0;j<CardsNewFragment.card_list.size();j++) {
        if(j+1==position) {
            CardsNewFragment.card_list.get(j).setPrimary(newPrimary);
        } else {
            CardsNewFragment.card_list.get(j).setPrimary(0);
        }
    }

}

对于您在评论中建议的样本,从(1,2,4,0)更改为(0,-1,0,0),您运行setPrimaryForPosition(2, -1)