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

转发地址:http://blog.163.com/hjl_love_lx/blog/static/1209689902011723101742679/

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 rientation="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中的CheckBox的全选、反选、全不选)