Android中ListView包含CheckBox时滑动丢失选中状态的解决
来源:互联网 发布:java中数组去重 编辑:程序博客网 时间:2024/05/16 14:24
现象:listview 中,如果有10项,其中手机屏幕显示1-6项,其余的7-10项在屏幕中不可见,得向下滚动后才能看到,这个时候,如果选中1、2项,再滚动到7-10项,之后再滚动回来1-6项,就发现1、2项并未被选中。
解决方法: 编写自定义的Adapter
- public class TestAdapter extends ArrayAdapter<String> {
- private int resource;
- private LayoutInflater inflater;
- private boolean[] checks; //用于保存checkBox的选择状态
- public TestAdapter(Context context, int resource, List<String> list) {
- super(context, resource, list);
- checks = new boolean[list.size()];
- this.resource = resource;
- inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- ViewHolder holder = null;
- if(convertView == null){
- convertView = inflater.inflate(resource, null);
- holder = new ViewHolder();
- holder.title = (TextView) convertView.findViewById(R.id.title);
- holder.checkBox = (CheckBox) convertView.findViewById(R.id.checkBox);
- convertView.setTag(holder);
- }else {
- holder = (ViewHolder) convertView.getTag();
- }
- holder.title.setText(getItem(position));
- final int pos = position; //pos必须声明为final
- holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){
- @Override
- public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
- checks[pos] = isChecked;
- }});
- holder.checkBox.setChecked(checks[pos]);
- return convertView;
- }
- static class ViewHolder {
- TextView title;
- CheckBox checkBox;
- }
- }
1 0
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- android ListView包含CheckBox时滑动丢失选中状态的解决
- AndroidのListView包含CheckBox时滑动丢失选中状态的解决
- Android中ListView数据不止一页,滑动后CheckBox丢失选中状态
- [Android]ListView中包含Checkbox,ToggleButton时Checked状态丢失的问题解决
- android ListView包含Checkbox滑动时状态改变
- 解决android中listview中嵌套checkbox滑动时checkbox状态改变问题
- 解决checkbox在滑动时选中状态错乱的问题
- ListView嵌套CheckBox滑动时CheckBox选中状态错乱
- ListView嵌套CheckBox滑动时CheckBox选中状态错乱
- android开发--listview中checkbox的选中状态
- android ListView 中CheckBox选中后,状态混乱的解决方案
- 解决listview嵌套checkbox滑动时状态的错乱
- C#学习之路,学习笔记 第四章 流程控制
- PHP的错误异常信息是否输出
- opencv3.0, vs2013配置
- 给LinearLayout设置点击事件
- C#学习之多线程开发技术(二)
- Android中ListView包含CheckBox时滑动丢失选中状态的解决
- struts2笔记-国际化
- C#学习日记16----隐式转换具体用例
- 点击return和空白回收键盘跳到下一个
- Cocos 3D功能初探学习笔记(3)---光照
- UI 动画之UIView动画 实现两个页面之间的切换
- Linux Shell 之 Shell 基本控制结构(一)(if and case)
- 在Android中操作JSON数据
- Big Event in HDU 背包