Selasa, 28 Oktober 2014

Widget: CheckBox & RadioButton

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