Android Checkbox
By Fanxtea | 1 Januari 2015Dalam Android, kita boleh gunakan kelas "android.widget.Checkbox" untuk membuat checkbox.
Dalam tutorial ini, saya akan menunjukkan bagaimana untuk mewujudkan tiga checkbox dalam fail XML dan menunjukkan penggunaan listener untuk memeriksa keadaan checkbox, samada ditanda ataupun tidak.
- Custom String Buka fail "res/values/layout/string.xml" dan tambah seperti dibawah.
- CheckBox Buka fail "res/layout/activity_main.xml" dan tambah tiga checkbox dan satu butang biasa.
- Kod Hidupkan fungsi listener didalam aktiviti "onCreate()", untuk memantau events yang berikut:
- Jika checkbox id: "chkIos" ditanda, mesej popup "Bro, cuba Android akan terpapar".
- Jika butang di tekan, mesej popup akan memaparkan senarai checkbox yang ditanda sahaja.
- Demo Run aplikasi.
Fail : res/values/layout/string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World!</string>
<string name="app_name">Hello World</string>
<string name="chk_ios">IPhone</string>
<string name="chk_android">Android</string>
<string name="chk_windows">Windows Mobile</string>
<string name="btn_display">Display</string>
</resources>
Fail: res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<CheckBox
android:id="@+id/chkIos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/chk_ios" />
<CheckBox
android:id="@+id/chkAndroid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/chk_android"
android:checked="true" />
<CheckBox
android:id="@+id/chkWindows"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/chk_windows" />
<Button
android:id="@+id/btnDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_display" />
</LinearLayout>
Nota : Jadikan checkBox ditanda secara default dengan tambah android:checked="true" didalam unsur checkbox. Dalam contoh ini, "Android" telah ditanda sebagai default.Fail : MainActivity.java
package com.fanxtea.helloworld;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
public class MainActivity extends Activity {
private CheckBox chkIos, chkAndroid, chkWindows;
private Button btnDisplay;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnChkIos();
addListenerOnButton();
}
public void addListenerOnChkIos() {
chkIos = (CheckBox) findViewById(R.id.chkIos);
chkIos.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//adakah chkIos ditanda?
if (((CheckBox) v).isChecked()) {
Toast.makeText(MainActivity.this,
"Bro, cuba Android :)", Toast.LENGTH_LONG).show();
}
}
});
}
public void addListenerOnButton() {
chkIos = (CheckBox) findViewById(R.id.chkIos);
chkAndroid = (CheckBox) findViewById(R.id.chkAndroid);
chkWindows = (CheckBox) findViewById(R.id.chkWindows);
btnDisplay = (Button) findViewById(R.id.btnDisplay);
btnDisplay.setOnClickListener(new OnClickListener() {
//Run when button is clicked
@Override
public void onClick(View v) {
StringBuffer result = new StringBuffer();
result.append("IPhone ditanda : ")
.append(chkIos.isChecked());
result.append("\nAndroid ditanda : ")
.append(chkAndroid.isChecked());
result.append("\nWindows Mobile ditanda :")
.append(chkWindows.isChecked());
Toast.makeText(MainActivity.this, result.toString(),
Toast.LENGTH_LONG).show();
}
});
}
}
Default checkbox Android ditanda.
Klik pada checkbox IPhone.
Klik pada butang "Display" akan memaparkan semua checkbox yang ditanda atau pon tidak