ListView和CheckBox整合:分别响应对应的事件
核心代码:
?
public View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;// convertView为null的时候初始化convertView。if (convertView == null) {holder = new ViewHolder();convertView = mInflater.inflate(R.layout.listphoto, null);holder.filename = (TextView) convertView.findViewById(R.id.filename);holder.imageView = (ImageView) convertView.findViewById(R.id.image);holder.checkBox = (CheckBox) convertView.findViewById(R.id.cb);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}holder.filename.setText(SDCard.getName(imgPaths.get(position)));holder.imageView.setImageBitmap(photos.get(position).getBitmap());holder.checkBox.setChecked(isSelected.get(position));final CheckBox checkBox = holder.checkBox;final int arg2 = position;checkBox.setChecked(isSelected.get(position));checkBox.setOnClickListener(new OnClickListener() {public void onClick(View v) {// 记录CheckBox的状态if (isSelected.get(arg2)) {isSelected.put(arg2, false);} else {isSelected.put(arg2, true);}notifyDataSetChanged();}});checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {}});return convertView;}?