ListView和CheckBox整合:分别响应对应的事件

核心代码:

// ListView的单击事件
		imgListView.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// 加载图片预览
				BitmapFactory.Options options = new BitmapFactory.Options();
				options.inSampleSize = 2;
				bitmap = BitmapFactory.decodeFile(pathsList.get(arg2), options);
				preImage.setImageBitmap(bitmap);

				// String msg = "";
				// for (int i = 0; i < isSelected.size(); i++) {
				// if (isSelected.get(i) == true) {
				// msg = msg + pathsList.get(i) + "第" + i + "张" + "\n";
				// }
				// }
				//
				// ShowMsg.showToast(getApplicationContext(), handler, msg);

				/******* 直接点击ListView设置checkbox ********/
				// ViewHolder vHollder = (ViewHolder) arg1.getTag();
				// 在每次获取点击的item时将对于的checkbox状态改变,同时修改map的值。
				// vHollder.checkBox.toggle();// 反转当前视图的选中状态
				// 点击预览
				// String text = "";
				// String select_id = "";
				// if (vHollder.checkBox.isChecked() == true) {
				// isSelect[arg2] = true;
				//
				// } else {
				// isSelect[arg2] = false;
				// }
				//
				// for (int i = 0; i < isSelect.length; i++) {
				// if (isSelect[i]) { // 如果该选项被选中
				// text = text + pathsList.get(i) + "第" + i + "张" + "\n";
				// select_id = select_id + i + ";";
				// Toast.makeText(getApplicationContext(),
				// "选中了:\n" + text, 5000).show();
				// }
				// }
				// hasSelect = select_id;
				// ListPicAdapter.isSelected.put(arg2, vHollder.checkBox
				// .isChecked());

			}

		});

 

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;
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值