Tuesday 28 July 2015

Android Radio Button

fanxtea.blogspot.com

Android Radio Button

By Fanxtea | 1 Januari 2015



Dalam 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.

  1. Custom String
  2. Buka fail "res/values/string.xml" untuk menggantikan string bagi butang radio.

    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>

  3. Layout Android
  4. Buka fail "res/layout/activity_main.xml", tambah satu kumpulan radio, dua butang radio dan satu butang, didalam LinearLayout.

    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.

  5. Kod
  6. Didalam aktiviti "onCreate", letakkan klik listener pada butang.

    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(); } }); } }

  7. Demo
  8. Run aplikasi.

    Default lelaki telah ditanda.

    Apabila butang "Display" ditekan akan memaparkan butang radio yang ditanda sahaja.