我有一个自定义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或其他值 我怎么能解决我的问题?
答案 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)