Android中CheckBox控件使用可以通过两种方法实现
1、OnClickListener
2、OnCheckedChangeListener

布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <CheckBox        android:id="@+id/all_checkbox"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:text="全选" />        <CheckBox        android:id="@+id/first_checkbox"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:text="选项1" />    <CheckBox        android:id="@+id/secend_checkbox"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:text="选项2" />    <CheckBox        android:id="@+id/third_checkbox"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:text="选项3" />    <CheckBox        android:id="@+id/fourth_checkbox"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_margin="10dp"        android:text="选项4" /></LinearLayout>


控制文件
package com.geoffrey.practice_checkbox;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;public class MainActivity extends Activity {private CheckBox allCheckBox;private CheckBox firstCheckBox;private CheckBox secendCheckBox;private CheckBox thirdCheckBox;private CheckBox fourthCheckBox;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_checkbox);allCheckBox = (CheckBox) findViewById(R.id.all_checkbox);firstCheckBox = (CheckBox) findViewById(R.id.first_checkbox);secendCheckBox = (CheckBox) findViewById(R.id.secend_checkbox);thirdCheckBox = (CheckBox) findViewById(R.id.third_checkbox);fourthCheckBox = (CheckBox) findViewById(R.id.fourth_checkbox);// 给第一个和第二个CheckBox控件绑定OnCheckBoxClickListener方法OnCheckBoxClickListener listener = new OnCheckBoxClickListener();firstCheckBox.setOnClickListener(listener);secendCheckBox.setOnClickListener(listener);// 给第三个和第四个CheckBox控件绑定CheckBoxListener方法CheckBoxListener listener2 = new CheckBoxListener();thirdCheckBox.setOnCheckedChangeListener(listener2);fourthCheckBox.setOnCheckedChangeListener(listener2);// 全选,全部取消allCheckBox.setOnClickListener(listener);}// 内部类OnCheckBoxClickListener,使用OnClickListener方法监听class OnCheckBoxClickListener implements OnClickListener {@Overridepublic void onClick(View view) {CheckBox checkBox = (CheckBox) view;if (checkBox.getId() == R.id.first_checkbox) {System.out.println("点击第一个checkbox");} else if (checkBox.getId() == R.id.secend_checkbox) {System.out.println("点击第二个checkbox");}if (checkBox.isChecked()) {System.out.println("选中");if (checkBox.getId() == R.id.all_checkbox) {firstCheckBox.setChecked(true);secendCheckBox.setChecked(true);thirdCheckBox.setChecked(true);fourthCheckBox.setChecked(true);}} else {System.out.println("取消选中");allCheckBox.setChecked(false);if (checkBox.getId() == R.id.all_checkbox) {firstCheckBox.setChecked(false);secendCheckBox.setChecked(false);thirdCheckBox.setChecked(false);fourthCheckBox.setChecked(false);}}}}// 内部类CheckBoxListener,使用OnCheckedChangeListener方法监听class CheckBoxListener implements OnCheckedChangeListener {@Override/** * @param buttonView 点击选中的控件 * @param isChecked 是否选中状态 */public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {if (buttonView.getId() == R.id.third_checkbox) {System.out.println("点击第三个checkbox");} else if (buttonView.getId() == R.id.fourth_checkbox) {System.out.println("点击第四个checkbox");}if (isChecked) {System.out.println("选中");} else {System.out.println("取消选中");allCheckBox.setChecked(false);}}}}





Android CheckBox控件使用OnClickListener和OnCheckedChangeListener两种不同的方法监听

更多相关文章

  1. android控件相对布局
  2. Android 基本控件
  3. Android下拉刷新控件
  4. Android系统设置选项的包名
  5. Android Studio安装app 报错的问题It is possible that this iss
  6. android之AutoCompleteTextView控件用法
  7. Google Maps API Key申请方法及地址
  8. android 笔记 --- Android Bitmap 建立或取得的方法
  9. Android自带Music播放器更新播放时间和进度条的方法

随机推荐

  1. 最新android sdk版本号和sdk的对应关系
  2. Android 动画方案
  3. Android Log详解!
  4. [Android] ubuntu 下不识别 Android 设备
  5. [置顶] Android IPC 通讯机制源码分析【
  6. android去掉button默认的点击阴影
  7. View视图——TextView、EditText、Button
  8. 【转】Android之自定义设备管理
  9. android进程间共享简单数据
  10. 自己封装的Android sqlite-helper.jar包