【发布时间】:2016-05-10 13:55:47
【问题描述】:
在我的活动中,列表视图中有 4 个项目,每行都有复选框。离开活动后,我想要一个数组列表中的所有检查项目位置编号。当用户单击所有复选框并离开活动时,此代码工作正常。但是当用户单击一个复选框然后取消选中它时,项目位置是 arraylist 无法清除。这种方法在我的 CustomAdapter 类中。
class GameAdapter extends BaseAdapter{
private ArrayList<Integer> positions = new ArrayList<Integer>();
public ArrayList<Integer> getPositions() {
return positions;
}
getView(....){
final ViewHolder holder;
holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(holder.checkBox.isChecked()) {
positions.add(position);
}
}
});
}
}
我在我的列表视图所在的活动中处理这个适配器类。我正在使用这样的数组列表值
ArrayList<Integer> gamePositions = mGameAdapter.getPositions();
String itemNumbers = gamePositions.toString();
在 itemNumber 字符串中,我想要所有选中的项目编号值。
提前感谢您的指导......
【问题讨论】:
-
检查时将值添加到数组中,但取消检查时从不删除它们
标签: java android android-layout listview checkbox