在listView里,只能选中单个item
来源:互联网 发布:php 生成pdf文件 编辑:程序博客网 时间:2024/05/19 20:18
在一个listView里,我们如果只能选择其中的一个小item,我们怎么实现呢,我觉得不同的人有不同的思路,思路是很重要的。
首先,我说一下我的思路:
(1)定义一个实体类,给它增加一个boolean 型的 isSelect属性;
(2)在定义好的adapter里,进行判断,实体类是否被选中:
if (doctor.isSelect()) { vHolder.check_button.setChecked(true); } else { vHolder.check_button.setChecked(false); } vHolder.check_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { CheckBox button = (CheckBox) view; //当医生被选中的时候,设置为真 doctor.setIsSelect(button.isChecked()); if (listner != null) { listner.setonCheckDoctorListner(doctor); } } }
(3) setonCheckDoctorListner()是 adapter 中定义 的 接口 方法
private onCheckDoctorListner listner; public void setOnChangeDoctorListner(onCheckDoctorListner listner) { this.listner = listner; }public interface onCheckDoctorListner { public void setonCheckDoctorListner(Doctor doctor); }
(4) 在主activity里实现定义的接口方法,当一个实体被选中的时候,我就把之前加在list的被选中实体的 isSelect属性 置为 false,并把它们从list里移除,通知adapter改变。
@Override public void setonCheckDoctorListner(Doctor doctor) { if (doctor.isSelect()) { selectData.add(doctor); // if (selectData.size() > 1) { for (int i = 0; i < selectData.size() - 1; i++) { selectData.get(i).setIsSelect(false); selectData.remove(i); adapter.notifyDataSetChanged(); } } Log.e("----doctor_select", selectData.size() + ""); } else { selectData.remove(doctor); // } }
2 0
- 在listView里,只能选中单个item
- ListView删除选中Item一次只能删除一个
- ListView刷新单个item
- 修改ListView单个Item
- listview单个刷新item
- listView刷新单个Item
- ListView更新单个item
- ListView刷新单个Item
- listView 更新单个item
- ListView 单个Item 更新
- 保持ListView的选中的item出现在页面上
- ListView保持选中item行高亮
- 删除ListView选中的item
- listview选中item背景变色
- 删除listview列表里面的单个item
- ListView点击单个Item失效问题解决办法
- listview和recycleview的刷新单个item
- android listview单个item刷新某个控件
- javascript弹出模态窗口,获取父页面的元素
- linux 常用命令
- python3 打包生成.exe
- ajaxFileUpload plugin上传文件 chrome、Firefox中出现SyntaxError:unexpected token <
- Cocosd2d-js 对象使用
- 在listView里,只能选中单个item
- Heritrix环境部署
- 发奖金-java
- java网页解析工具包
- 利用nginx的http转发功能做内网yum源
- linux下rsync+inotify同步文件
- mysql/sql多行 转 多列,行属性转列属性
- Java中native关键字
- springmvc返回值、数据写到页面、表单提交、ajax、重定向