android如何实现ListView中的CheckBox的全选、反选、全不选

刚刚接触android开发一个月左右,因为公司项目的需要,我不得不马上将所学用于android平台下智能系统的开发,在开发中经常遇到问题,当然我也在这些问题中一步步成长。今天上午我遇到的问题是如何实现ListView中的CheckBox的全选、反选、全不选的功能。在网上查找了很多资料,但是贴上来都不适用,最后东拼西凑,然后结合自己项目的实际情况自己写出了代码实现了需要的功能。好了,在此我将代码贴在下面,供大家学习交流之用。

1、全选

                 for (int index = 0; index < controlActionView.getChildCount(); index++) {
                    LinearLayout layout = (LinearLayout) controlActionView.getChildAt(index);
                    CheckBox checkBox = (CheckBox) layout.findViewById(R.id.isselected);
                    checkBox.setChecked(true);
                }

2、反选

                for (int index = 0; index < controlActionView.getChildCount(); index++) {
                    LinearLayout layout = (LinearLayout) controlActionView.getChildAt(index);
                    CheckBox checkBox = (CheckBox) layout.findViewById(R.id.isselected);
                    if (checkBox.isChecked()) {
                        checkBox.setChecked(false);
                    } else {
                        checkBox.setChecked(true);
                    }
                }

3、全不选

                for (int index = 0; index < controlActionView.getChildCount(); index++) {
                    LinearLayout layout = (LinearLayout) controlActionView.getChildAt(index);
                    CheckBox checkBox = (CheckBox) layout.findViewById(R.id.isselected);
                    checkBox.setChecked(false);
                }

 

看了上面的代码是不是很简单呢,其实知识都这样,编程更是如此。在遇到问题时,感觉这个问题是多么的深不可测。然后通过各种方式去查找资料解决问题。当我们找到解决方案时,感觉都很简单。该ListView中的布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:orientation="horizontal"
  android:layout_height="match_parent">
          <TextView
              android:id="@+id/controlaction_id"
              android:layout_height="0dip"
              android:layout_width="0dip"
              />
          <TextView
              android:id="@+id/controlaction_code"
              android:layout_width="180dip"
              android:layout_height="wrap_content"
              android:textSize="15pt"
              />
          <TextView
              android:id="@+id/controlaction_name"
              android:layout_height="wrap_content"
              android:layout_width="180dip"
              android:textSize="8pt"
              />
          <CheckBox
              android:id="@+id/isselected"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              />
</LinearLayout>

就这样了,大家仔细的分析吧!希望能给大家提供一点帮助!

你可能感兴趣的:(编程,android,ListView,layout,平台,encoding)