Checkbox adalah salah satu widget berjenis optional, artinya 2 atau lebih item bisa dipilih secara bersamaan. Kita coba dulu dari yang paling sederhana, skenarionya disediakan sebuah checkbox yang belum aktif, ditKamui dengan tulisan "Chackbox ini : Belum dicentang!". Kemudian jika user mengklik, checkbox berubah warna menjadi hijau dan tulisannya ganti "Checkbox ini : dicentang!". Perhatikan Gambar 6.1

Gambar 6. 1
Sebelum mulai siapkan es Teh dan snack disamping komputer, supaya belajarnya lebih menyenangkan. Nah saatnya dimulai.
1. Jalankan Enclipse, buat Project baru.

Gambar 6. 2. Membuat new Project
2. Isilah parameter seperti berikut
| Project name | MembuatCheckBox |
|------------------|-------------------|
| Build Target | Android 2.2 |
| Application name | Membuat Check Box |
| Package name | contoh.checkBox |
| Create Activity | checkBox |
| Min SDK version | 8 |
3. Perhatikan kode pada String.xml lihat pada res/values/string.xml (Gambar 6.3). Tambahkan kode menjadi seperti berikut
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, checkBox!</string>
<string name="app name">Membuat Check Box</string>
<string name="checkBox">checkBox ini : Tidak Dicentang!</string>
</resources>

Gambar 6. 3. Letak strings.xml
4. Kemudian ketikkan kode berikut ini pada main.xml (Gambar 6.4)
<?xml version="1.0" encoding="utf-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:layout width="wrap content"
android:id="@+id/check"
android:layout height="wrap content"
android:text="@string/checkBox">
</CheckBox>

Gambar 6. 4. Letak main.xml
5. Tuliskan kode checkBox.java seperti berikut
package contoh.checkBox;
import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class checkBox extends Activity implements OnCheckedChangeListener {
CheckBox cb;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
cb=(CheckBox)findViewById(R.id.check);
cb.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
cb.setText("checkBox ini : Dicentang!");
}
else {
cb.setText("checkBox ini : Tidak Dicentang!");
}
}
}
6. Bila kode berantakan, lakukan Format (source > format).
7. Lakukan RUN dan lihat hasilnya. Simple!
Penjelasan Program
Perhatikan dulu main.xml, disini kita memakai widget checkbox yang diberi id "check" (lihat baris 4). Widget checkbox memiliki property text, isinya mengambil dari string "checkBox" pada strings.xml (baris 6).
Widget CheckBox memiliki 2 status yaitu checked dan unchecked. Dengan mengeklik checkBox artinya kita mengubah status dari checked menjadi unchecked atau sebaliknya.
Sekarang kita lihat activity checkbox.java, baris 17 adalah sinkronisasi antara object "cb" terhadap widget CheckBox dari layout main.xml, sedangkan baris 18 untuk mengaktifkan widget checkbox agar berfungsi saat diklik. Activity ini mengimplementasikan class OnCheckedChangeListener, agar sistem bisa mengenali apakah checkbox diklik atau tidak. Aktivitas ini di baca oleh method onCheckedChanged() pada baris 21-29. Method ini lah yang bertugas mengganti tulisan pada widget ketika checkbox diklik.
Sumber
omayib.com