:
The Code is as follows:
Activity_main.xml
<LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingBottom = "@ dimen/activity_vertical_margin" android: paddingLeft = "@ dimen/plugin" android: paddingRight = "@ dimen/plugin" android: paddingTop = "@ dimen/plugin" tools: context = ". mainActivity "> <CheckBox android: id =" @ + id/eatid "android: layout_width =" wrap_content "android: layout_height =" wrap_content "android: text = "dinner"/> <CheckBox android: id = "@ + id/sleepid" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "sleeping"/> <CheckBox android: id = "@ + id/dotaid" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "dota"/> </LinearLayout>
There are two methods;
The first method is OnClickListener usage:
The Code is as follows:
MainActivity. java
package com.jk.test;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.CheckBox;public class MainActivity extends Activity {private CheckBox eatBox;private CheckBox sleepBox;private CheckBox dotaBox;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);eatBox=(CheckBox)findViewById(R.id.eatid);sleepBox=(CheckBox)findViewById(R.id.sleepid);dotaBox=(CheckBox)findViewById(R.id.dotaid);onBoxClickListener listener =new onBoxClickListener();eatBox.setOnClickListener(listener);sleepBox.setOnClickListener(listener);dotaBox.setOnClickListener(listener);}class onBoxClickListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubCheckBox box = (CheckBox)v;if(box.getId()==R.id.eatid)System.out.println("eatBox");else if(box.getId()==R.id.sleepid)System.out.println("sleepBox");else if(box.getId()==R.id.dotaid)System.out.println("dotaBox");if(box.isChecked())System.out.println("is checked!");elseSystem.out.println("is unchecked!");}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
The second method is OnCheckedChangeListener:
package com.jk.test;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;public class MainActivity extends Activity {private CheckBox eatBox;private CheckBox sleepBox;private CheckBox dotaBox;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);eatBox=(CheckBox)findViewById(R.id.eatid);sleepBox=(CheckBox)findViewById(R.id.sleepid);dotaBox=(CheckBox)findViewById(R.id.dotaid);CheckBoxListener listener =new CheckBoxListener();eatBox.setOnCheckedChangeListener(listener);sleepBox.setOnCheckedChangeListener(listener);dotaBox.setOnCheckedChangeListener(listener);}class CheckBoxListener implements OnCheckedChangeListener{public void onCheckedChanged(CompoundButton v, boolean isChecked) {// TODO Auto-generated method stubCompoundButton box = (CompoundButton)v;if(box.getId()==R.id.eatid)System.out.println("eatBox");else if(box.getId()==R.id.sleepid)System.out.println("sleepBox");else if(box.getId()==R.id.dotaid)System.out.println("dotaBox");if(isChecked)System.out.println("is checked!");elseSystem.out.println("is unchecked!");}}public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
In addition, the following shows how to select all:
package com.jk.test;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;public class MainActivity extends Activity {private CheckBox eatBox;private CheckBox sleepBox;private CheckBox dotaBox;private CheckBox allClickBox;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);eatBox = (CheckBox) findViewById(R.id.eatid);sleepBox = (CheckBox) findViewById(R.id.sleepid);dotaBox = (CheckBox) findViewById(R.id.dotaid);allClickBox = (CheckBox) findViewById(R.id.allClickid);CheckBoxListener listener = new CheckBoxListener();eatBox.setOnCheckedChangeListener(listener);sleepBox.setOnCheckedChangeListener(listener);dotaBox.setOnCheckedChangeListener(listener);allClickBox.setOnCheckedChangeListener(listener);}class CheckBoxListener implements OnCheckedChangeListener {public void onCheckedChanged(CompoundButton v, boolean isChecked) {CompoundButton box = (CompoundButton) v;if (box.getId() == R.id.eatid) {if (isChecked)System.out.println("eatBox is checked!");elseSystem.out.println("eatBox is unchecked!");} else if (box.getId() == R.id.eatid) {if (isChecked)System.out.println("sleepBox is checked!");elseSystem.out.println("sleepBox is unchecked!");} else if (box.getId() == R.id.eatid) {if (isChecked)System.out.println("dotaBox is checked!");elseSystem.out.println("dotaBox is unchecked!");} else if (box.getId() == R.id.allClickid) {if (isChecked) {eatBox.setChecked(true);sleepBox.setChecked(true);dotaBox.setChecked(true);} else {eatBox.setChecked(false);sleepBox.setChecked(false);dotaBox.setChecked(false);}}}}public boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}