您的位置:首页 > 移动开发 > Android开发

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

2011-06-15 23:27 489 查看
刚刚接触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>

就这样了,大家仔细的分析吧!希望能给大家提供一点帮助!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息