CheckBox抢占Item焦点,导致Item点击无效!方法一:CheckBox设置android:clickable="false" 方法二:在Item根布局或ListView布局设置android:descendantFocusability="blocksDescendants"在ListView的Item中的Button,CheckBox等子控件会抢占焦点,使得点击item本身没有响应!常用android:descendantFocusability=”blocksDescendants”覆盖子类控件焦点    descendantFocusability属性定义viewGroup和其子控件之间关系:    beforeDescendants:viewgroup会优先其子类控件而获取到焦点    afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点    blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点                     

适配器在getview()中重复使用[被移除屏幕的item,即不可见的项]
会造成被选中的checkbox重新出现,显示异常,故需要记录checkbox的状态!

public class MyAdapter extends BaseAdapter implements OnItemClickListener {     private HashMap isSelected; // 记录checkbox状态    public MyAdapter() {                // 初始化所有checkbox为未选择          isSelected = new HashMap();          for (int i = 0; i < list.size(); i++)            isSelected.put(i, false);    }        @Override      public View getView(int position, View convertView, ViewGroup arg2) {                      ViewHolder holder;        ...        holder.cb.setChecked(isSelected.get(position)); // 更新checkbox状态        return view;    }      @Override      public void onItemClick(AdapterView<?> arg0, View view,              int position, long arg3) {        // 切换checkbox状态        isSelected.put(position, !isSelected.get(position));        notifyDataSetChanged();    }  }  public class MainActivity extends Activity {    ...    MyAdapter adp = new MyAdapter();    listview.setAdapter(adp);    listview.setOnItemClickListener(adp);    ...}

:http://www.jianshu.com/p/b2aa0485f7b8
CSDN博客: http://blog.csdn.net/qq_32115439/article/details/53710915
GitHub博客: http://lioil.win/2016/04/20/ListView-CheckBox.html
Coding博客: http://c.lioil.win/2016/04/20/ListView-CheckBox.html

更多相关文章

  1. tab2
  2. Android:Material Design之NavigationView使用
  3. Android(安卓)TextView控件
  4. android CheckBox控件的定义及事件监听
  5. Andorid TabHost 使用小结
  6. Android(安卓)GridView控件 使用
  7. 推荐4款开源的Android引导页控件
  8. android长按弹出对话框
  9. android 进阶自定义控件1

随机推荐

  1. android用代码获取布局文件
  2. Android studio 解析JSON格式数据
  3. Android 内存泄漏——context泄漏
  4. 【最新】】汇总Android(安卓)Studio 2.2
  5. Android Intent之Action应用
  6. android HttpURLConnection conn = null;
  7. Android简单获取经纬度的方法
  8. 反编译apk导入android studio
  9. Android AOSP输入法(LatinIME)输入流程二
  10. android ListView的常用事件