单击列表项时,也会选择每12个项目。不明白为什么?
@Override
public void onListItemClick(ListView l, View v, int position, long id){
CheckedTextView check = (CheckedTextView) v;
if (check.isChecked()){
check.setChecked(false);
selections.remove((Integer) position);
}
else{
check.setChecked(true);
selections.add((Integer) position);
}
}
我使用ArrayAdapter。名称是一个大约1000个选项的String []。
adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_multiple_choice, names);
setListAdapter(adapter);
答案 0 :(得分:1)
我认为,问题出在你的适配器的getView方法中。
如果您在那里重用对象,那么每次都必须刷新CheckedTextView的选择
答案 1 :(得分:0)
您需要在适配器的构造函数中执行类似的操作,在开始时将复选框的状态设置为false
private ArrayList<Boolean> itemChecked = new ArrayList<Boolean>();
for (int i = 0; i < this.getCount(); i++) {
itemChecked.add(i, false); // initializes all items value with false
}
然后在单击时将其更改为true。并相应地更改复选框的状态。