当用户选择它时,我将选中的复选框值存储到arraylist中,并在用户未选中时从同一个数组列表中删除。但是我有这个问题。即例如我选中了复选框0,1,4,6。然后,我取消选中0复选框。但是从arraylist中删除了6个。下次我取消选中第1个位置复选框。但是这次从arraylist中没有被删除。最后,我取消了0和4的检查,但仍然没有任何内容从arraylist中删除。数组0,1,4仍然存在于数组列表中。如何解决这个问题? 我想存储选定的项目并删除未选定的项目。请帮我对此....如何添加和删除所选的复选框ID和Android ArrayList中?
我的代码:
public static ArrayList<String> selchkboxlist = new ArrayList<String>();;
String chk;
cbs = new CheckBox[20];
for(k=0; k<List.size(); k++)
{
arr = List.get(k);
cbs[k] = new CheckBox(getContext());
Rl.addView(cbs[k]);
cbs[k].setText((CharSequence) arr.get(2));
cbs[k].setTextColor(Color.parseColor("#000000"));
cbs[k].setId(k);
cbs[k].setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
CheckBox cbs = (CheckBox) v ;
if (((CheckBox) v).isChecked()) {
chk = Integer.toString(v.getId());
selchkboxlist.add(chk);
Toast.makeText(Myclass.this, "Selected CheckBox ID" + v.getId(), Toast.LENGTH_SHORT).show();
System.out.println("selected checkboxes"+selchkboxlist);
}
else
{
selchkboxlist.remove(chk);
Toast.makeText(Myclass.this, "Not selected", Toast.LENGTH_SHORT).show();
System.out.println("un selected checkboxes"+selchkboxlist);
}
}
});
}
应该心存感激....
尝试使你的ArrayList是静态的。 – Hiral 2012-02-28 05:30:26