【发布时间】:2015-09-01 09:34:04
【问题描述】:
我有一个自定义的 ArrayList(Card)。我在我的 ArrayList 中插入了一些项目。这是我的 ArrayList 项目类
public class Card {
private int primary;
public int getPrimary() {
return primary;
}
public void setPrimary(int primary) {
this.primary = primary;
}
}
我想按位置更改我的 int 主要
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 或另一个值 我该如何解决我的问题?
【问题讨论】:
-
a) 为什么你一方面循环播放,另一方面却总是阅读
mCurrentPage?不应该是.get(j)而不是.get(mCurrentPage)吗? b)有点难以理解你在问什么。您能否提供一个前后列表状态的示例以使其更清晰?例如,如果您从 1,0,3 开始,您期望结果是什么(也是列表“格式”)? -
例如在我的 arralist 中有 (1,2,4,0) 并且我想将第二个元素 (2) 更改为例如 -1 和另一个 0.new arraylis 应该是 (0, -1,0,0) @Ori Lentz
-
你试过 yourarraylist.set(position,item element);希望它会工作
-
@Madhu 你明白我的评论吗?我想接收 (0,-1,0,0) 你能告诉我代码或例子吗?
-
@user3863447 基于项目单击,您需要使用更新的位置更新您的数组列表,对吗????