Android Radio Button
By Fanxtea | 1 Januari 2015Dalam Android, kamu boleh menggunakan kelas "android.widget.RadioButton" untuk memberi fungsi butang radio. Untuk butang radio biasanya dikumpulankan dan akan menggunakan kelas "android.widget.RadioGroup". Jika butang radio telah dikumpulankan, apabila satu butang radio telah di tandakan, semua yang didalam group tersebut akan dinyah tandakan secara automatik.
Di dalam tutorial ini, saya akan menunjukkan bagaimana untuk menggunakan XML dengan mencipta dua butang radio di dalam satu kumpulan menggunakan kumpulan radio. Apabila di tanda, ia akan memaparkan butang radio yang dipilih.
- Custom String Buka fail "res/values/string.xml" untuk menggantikan string bagi butang radio.
- Layout Android Buka fail "res/layout/activity_main.xml", tambah satu kumpulan radio, dua butang radio dan satu butang, didalam LinearLayout.
- Kod Didalam aktiviti "onCreate", letakkan klik listener pada butang.
- Demo Run aplikasi.
Fail: res/values/string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World
<string name="app_name">HelloWorld
<string name="radio_male">Lelaki
<string name="radio_female">Perempuan
<string name="btn_display">Paparkan
</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" >
<RadioGroup
android:id="@+id/radioSex"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radioMale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_male"
android:checked="true" />
<RadioButton
android:id="@+id/radioFemale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_female" />
</RadioGroup>
<Button
android:id="@+id/btnDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_display" />
</LinearLayout>
Nota:
Untuk membuat butang radio dipilih secara default, masukkan "android :checked="true"" didalam unsur butang radio. Dalam contoh ini, butang radio untuk "Lelaki" dipilih secara 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.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class MainActivity extends Activity {
private RadioGroup radioSexGroup;
private RadioButton radioSexButton;
private Button btnDisplay;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButton();
}
public void addListenerOnButton() {
radioSexGroup = (RadioGroup) findViewById(R.id.radioSex);
btnDisplay = (Button) findViewById(R.id.btnDisplay);
btnDisplay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// get selected radio button from radioGroup
int selectedId = radioSexGroup
.getCheckedRadioButtonId();
// find the radiobutton by returned id
radioSexButton = (RadioButton)
findViewById(selectedId);
Toast.makeText(MainActivity.this,
radioSexButton.getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}
Default lelaki telah ditanda.
Apabila butang "Display" ditekan akan memaparkan butang radio yang ditanda sahaja.