CheckBox adalah salah satu widget berjenis optional, artinya 2 atau lebih item bisa dipilih secara bersamaan. Sebaliknya, RadioButton hanya menerima satu input item saja. Skenarionya, anda harus memilih salah satu tipe kopi dengan bertipe RadioButton dan silakan menambahkan pilihan lain (gula, kopi) dengan bertipe CheckBox. Setelah diklik tombol next, maka akan tampil hasil pilihan di atas. Berikut langkah pembuatannya.
Buat file layout dengan nama "activity_check_radio.xml" pada folder res>layout.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:text="pilihlah tipe kopi yang anda suka"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:layout_height="wrap_content"
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:text="luwak" android:checked="true">
</RadioButton>
<RadioButton
android:layout_height="wrap_content"
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:text="ekspresso">
</RadioButton>
<RadioButton
android:layout_height="wrap_content"
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:text="colombian">
</RadioButton>
</RadioGroup>
<TextView
android:text="apa yang ingin anda tambahkan"
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<CheckBox
android:text="gula"
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
<CheckBox
android:text="kopi"
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
<Button
android:text="next"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
<TextView
android:text=""
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
</LinearLayout>
Selanjutnya, buat file java dengan nama "CheckRadio.java" pada folder src.
package com.example.contoh;
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.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class CheckRadio extends Activity {
RadioGroup rg1;
RadioButton rb1, rb2, rb3;
CheckBox cb1, cb2;
Button b1;
TextView t1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_check_radio);
rg1 = (RadioGroup) findViewById(R.id.radioGroup1);
rb1 = (RadioButton) findViewById(R.id.radio1);
rb2 = (RadioButton) findViewById(R.id.radio2);
rb3 = (RadioButton) findViewById(R.id.radio3);
cb1 = (CheckBox) findViewById(R.id.checkBox1);
cb2 = (CheckBox) findViewById(R.id.checkBox2);
b1 = (Button) findViewById(R.id.button1);
t1 = (TextView) findViewById(R.id.textView3);
b1.setOnClickListener(new klik());
}
class klik implements OnClickListener{
public void onClick(View v){
String msg1 = "", msg2 = "";
if(rb1.isChecked())
msg1 = msg1 + "luwak";
if(rb2.isChecked())
msg1 = msg1 + "ekspresso";
if(rb3.isChecked())
msg1 = msg1 + "colombian";
t1.append("kopi yang anda pilih: "+msg1);
if(cb1.isChecked())
msg2 = msg2 + " gula";
if(cb2.isChecked())
msg2 = msg2 + " kopi";
t1.append(" dan yang anda tambahkan adalah"+msg2);
}
}
}
Terakhir, tambahkan nama kelas java yang akan dipanggil untuk di-running pada file AndroidManifest.xml.
<activity
android:name="com.example.contoh.CheckRadio"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Berikut tampilannya.

Tidak ada komentar:
Posting Komentar