记录我项目中遇到的问题-----listview itme双击事件与CheckBox冲突事件处理

今天项目中遇到listview itme双击事件与CheckBox冲突 在网上找资料发现只要在listview加载itme的根目录里面加入android:descendantFocusability="blocksDescendants" 就可以了
//listview双击事件
private void initListener() {
		list_tmp_task1.setOnItemClickListener(new OnItemClickListener() {
			private long firClick;
			private long secClick;
			private int count;
			private int selectIndex;

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				count++;
				if (count == 1) {
					firClick = System.currentTimeMillis();
				} else if (count == 2) {
					secClick = System.currentTimeMillis();
					if (secClick - firClick < 2000) {
						if (selectIndex == position) {
							Intent intent = new Intent(InfHandelTaskActivity.this,InfObvioustask.class);
							intent.putExtra("ataskRecord",alist.get(position));
							startActivity(intent);
							count = 0;
							firClick = 0;
							secClick = 0;
						} else {
							count = 1;
							firClick = secClick;
						}
					} else {
						count = 0;
						firClick = 0;
						secClick = 0;
					}
				}
				selectIndex = position;
			}
		});
	}
//CheckBox点击事件
holder.item_cb_section.setChecked(selectIndex == position ? true: false);
		holder.item_cb_section.setOnClickListener(new OnClickListener() {
		@Override
		public void onClick(View v) {
			if (selectIndex == position)
				((CheckBox) v).setChecked(true);
			else if (selectIndex != -1) {
				View item = mListView.getChildAt(selectIndex);
				if (item != null) {
					CheckBox ch = (CheckBox) item.findViewById(R.id.item_cb_section);
					ch.setChecked(false);
				}
			}
			selectIndex = position;
		}
	});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值