大家工作中可能会用到ListView 中item的单选:
实现步骤:
1,在Adapter getView 设置 对数据源的遍历判断点击时Postion和数据源中list比较;
2.在listView 的OnItemCLick点击事件中 设置 单选
3,通知数据源改变。 notifyDatasetChanged(); 刷新数据;
代码:
public void setChecked(int positon) {
for (int i = 0; i < list.size(); i++) {
if (i == positon) {
list.get(i).put("isChecked", true);
} else {
list.get(i).put("isChecked", false);
}
}
}
public int getChecked() {
int postion = -1;
for (int i = 0; i < list.size(); i++) {
if ((Boolean) list.get(i).get("isChecked")) {
return i;
}
}
return postion;
}
adapter = new MyAdapter(list);
mListView.setAdapter(adapter);
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// TODO Auto-generated method stub
Log.e("adapter", "position====" + position);
adapter.setChecked(position);
adapter.notifyDataSetChanged(); //刷新数据。
}
});