protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.addcheck_layout);
lv = (ListView) findViewById(R.id.addchecklist_lv);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
selectItem(view, position);
}
});
}
/**
* 选择item
* @param view 按下的视图
* @param position 按下的坐标
*/
//选中item坐标
public static List<Integer> selectPosition = new ArrayList<Integer>();
public void selectItem(View view,Integer position){
if (selectPosition.contains(position)) {
selectPosition.remove(position);
adapter.refreshItemSelected(position,lv,false);
}else{
selectPosition.add(position);
adapter.refreshItemSelected(position,lv,true);
}
}
adapter中的代码
/**
* 更新item选择状态
* @param position 坐标
* @param lv
* @param selected 是否选中
*/
public void refreshItemSelected(int position, ListView lv,boolean selected) {
View childAt = lv.getChildAt(position-lv.getFirstVisiblePosition());
if(childAt != null) {
View view = getView(position, childAt, lv);
ViewHolder viewHolder = (ViewHolder) view.getTag();
if (selected) {
viewHolder.selectView.setImageResource(R.drawable.chose_icon);
} else {
viewHolder.selectView.setImageResource(R.drawable.chose_icon_default);
}
}
}