android listview中checkbox控制点击数目。 在listview中加入checkbox,方法是在adapter中建立一个HashMap保存每个checkbox的状态,要实现的功能是控制最多点击5个,点击第6个会提示,别的chekbox也无法点击,怎么做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在view的事件处理里计数呗 ADP那边加入一个计数器设置CHECK的点击事件,点击判断CHECK计算器+1,否就-1当然。。先判断计算器是否SIZE-1...超出就判断CHECK状态是TRUE还是FALSE,只有TRUE菜给取消。。 计数我知道怎么做,我根据循环得到的总数,当我点击第六个checkbox时,不管怎么设置chekbox,比如setchecked(false),setclickable(false),setenable(false)都没用,我现在想解决这个问题,当点击第6个chekbox时不能点。 listadatpter中的数据集合中加个boolean类型的静态变量,哪个选中了就变成true,取消就变成false 不要使用CheckBox,放一个ImageView,点击选中改变图片。定义一个成员变量用来记录点击选中的item,核心代码如下:@Override public void onItemChildClick(BaseQuickAdapter adapter, View view, BaseViewHolder holder) { if (view.getId() == R.id.galleryCheckBox) { GalleryItem item = (GalleryItem) adapter.getData().get(holder.getAdapterPosition()); // 多余十张图片不可选 if (mItemCounter.size() > 9) { if (item.checkState) { mItemCounter.remove(item); ((ImageView) view).setImageResource(R.drawable.ic_check_white); item.checkState = !item.checkState; return; } ToastUtils.showToastOnce(this, "最多可以选择10张图片"); return; } if (!item.checkState) { mItemCounter.add(item); ((ImageView) view).setImageResource(R.drawable.ic_check_accent); } else { mItemCounter.remove(item); ((ImageView) view).setImageResource(R.drawable.ic_check_white); } item.checkState = !item.checkState; } } 选中数量要用全局变量保存,没到数量直接isSelected.get(position) = !isSelected.get(position);已经选中5个且该项未选中时,直接return 我看你是用一个Map<Integer,Boolean>来存状态的,然后你还循环100次查状态值,是要遍历吧, 要是我按你的思路继续写的话,每次点击checkbox之前, 先判断他是要选中,还是要取消选中,取消选中的话没什么说的,直接map.put(position,false),如果是要选中的话,那就得先遍历一遍判断已经选中的数量到没到5个(其实这里有点蠢,正常用一个变量记录一下岂不是美滋滋),遍历的时候还是的定义一个变量,然后有一个为true的就+1,遍历完了如果小于5,就map.put(position,true),大于5的话就提示就行了 数据库操作问题 一个页面使用了两个viewpager?? android2.1 Gallery3D的问题 最新的SDK,为什么进行调试时,会重新打开模拟器? 如何AndRoid来实现外网来访问企业的数据库 如何使imageview处于linearlayout右下角? Gallery怎么实现多点触摸 Android 通过通知查看详细信息 拖屏以及背景移动的实现 求助:TextView组件的 组件实例名.getText().length()的值怎么一直为13 在线等,求安卓模块4G的厂家推荐 EditText弹出软键盘,布局webview不动,遮挡屏幕
当然。。先判断计算器是否SIZE-1...超出就判断CHECK状态是TRUE还是FALSE,只有TRUE菜给取消。。
计数我知道怎么做,我根据循环得到的总数,当我点击第六个checkbox时,不管怎么设置chekbox,比如setchecked(false),setclickable(false),setenable(false)都没用,我现在想解决这个问题,当点击第6个chekbox时不能点。
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, BaseViewHolder holder) {
if (view.getId() == R.id.galleryCheckBox) {
GalleryItem item = (GalleryItem) adapter.getData().get(holder.getAdapterPosition());
// 多余十张图片不可选
if (mItemCounter.size() > 9) {
if (item.checkState) {
mItemCounter.remove(item);
((ImageView) view).setImageResource(R.drawable.ic_check_white);
item.checkState = !item.checkState;
return;
}
ToastUtils.showToastOnce(this, "最多可以选择10张图片");
return;
}
if (!item.checkState) {
mItemCounter.add(item);
((ImageView) view).setImageResource(R.drawable.ic_check_accent);
} else {
mItemCounter.remove(item);
((ImageView) view).setImageResource(R.drawable.ic_check_white);
}
item.checkState = !item.checkState;
}
}