To implement specific logic when a check box is checked or unchecked, you
can register for the on-checked event by calling
setOnCheckedChangeListener()
with an
implementation of the OnCheckedChangeListener
interface.
Then implement
the onCheckedChanged()
method, which will
be called when the check box is checked or
unchecked.
Java code
package com.java2s.app; /*w w w . j a va2 s . c o m*/ import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.CheckBox; import android.widget.CompoundButton; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CheckBox fishCB = (CheckBox) findViewById(R.id.fishCB); if (fishCB.isChecked()) { fishCB.toggle(); // flips the checkbox to unchecked if it was checked } fishCB.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { Log.v("CheckBoxActivity", "The fish checkbox is now " + (isChecked ? "checked" : "not checked")); } } ); } }
XML layout file.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> /* w ww . ja v a2s .c o m*/ <CheckBox android:id="@+id/chickenCB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="XML" /> <CheckBox android:id="@+id/fishCB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CSS" /> <CheckBox android:id="@+id/steakCB" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="HTML" /> </LinearLayout>