Dialog Android Part III

Lanjuuut lagi kawan…

Membuat Dialog sederhana sudah, Dialog List sudah, trus sekarang mau ngapain lagii. Ya, sekarang marilah kita berdoa bersama-sama menurut agama dan keyakinan masing-masing agar diberi kesehatan dan ilmu yang bermafaat, bahagia di dunia dan di akhirat , aamiin (loh ini mau ngapain sih😀 …).

Hehe, baiklah kawan BMS, melanjutkan dari postingan sebelumnya, kali ini kita akan membuat sebuah Dialog List dengan radio button. Caranya gak jauh beda sama membuat Dialog List yang biasa. Kalau Dialog List yang biasa kita menggunakan method setItems() sedangkan Dialog Radio List menggunakan method setSingleChoiceItems().

Oke , buka Eclipse kesayangan, buka project yang telah dibuat pada postingan sebelumnya, buka activity_main.xml dan tambahkan kode berikut dan letakkan setelah button kedua:

 <Button
        android:id="@+id/btnRadioList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/btnList"
        android:text="Dialog Radio List"
        tools:ignore="HardcodedText" />

Lebih Jelasnya, berikut source lengkapnya.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/btnNeutral"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="14dp"
        android:text="Dialog Neutral"
        tools:ignore="HardcodedText" />

    <Button
        android:id="@+id/btnList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/btnNeutral"
        android:text="Dialog Items"
        tools:ignore="HardcodedText" />

    <Button
        android:id="@+id/btnRadioList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/btnList"
        android:text="Dialog Radio List"
        tools:ignore="HardcodedText" />

    <Button
        android:id="@+id/btnKeluar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/btnRadioList"
        android:text="Keluar"
        tools:ignore="HardcodedText" />

</RelativeLayout>

Berikutnya buka MainActivity.java dan deklarasikan butto yang telah kita buat/tambahkan pada layout nya.

Button buttonRadioList;

Tambahkan kode berikut pada method onCreate(Bundle savedInstanceState)

  buttonRadioList=(Button) findViewById(R.id.btnRadioList);

Tahap selanjutnya buat sebuah method baru untuk menampung Dialog yang akan kita buat.

  public void actionRadioList(){
    	AlertDialog.Builder builder=new AlertDialog.Builder(context);
    	builder.setTitle("Radio Items");
    	builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
			}
		});

    	AlertDialog alertDialog=builder.create();
    	alertDialog.show();
    }

Dan tambahkan pula kode berikut pada method onCreate(Bundle savedInstanceState).

  buttonRadioList.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				actionRadioList();
			}
		});

Lebih jelasnya, berikut source lengkapnya.

package com.is.dialogtest;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

	Context context=this;
	Button buttonNeutral;
	Button buttonKeluar;
	Button buttonList;
	Button buttonRadioList;

	CharSequence items[]={"Ubuntu","Mandriva","Mint"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        buttonNeutral=(Button) findViewById(R.id.btnNeutral);
        buttonList=(Button) findViewById(R.id.btnList);
        buttonRadioList=(Button) findViewById(R.id.btnRadioList);
        buttonKeluar=(Button) findViewById(R.id.btnKeluar);

        buttonNeutral.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				actionNeutralButton();
			}
		});

        buttonList.setOnClickListener(new OnClickListener() {

     			@Override
     			public void onClick(View arg0) {
     				// TODO Auto-generated method stub
     				actionDialogList();
     			}
     		});

        buttonRadioList.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				actionRadioList();
			}
		});

        buttonKeluar.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				actionKeluar();
			}
		});

    }

    public void actionKeluar(){
    	AlertDialog.Builder builder=new AlertDialog.Builder(context);
		builder.setTitle("Konfirmasi");
		builder.setMessage("Apakah Anda Akan Keluar ?");
		builder.setCancelable(false);
		builder.setPositiveButton("Ya", new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				MainActivity.this.finish();
			}
		});

		builder.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				arg0.cancel();
			}
		});

		AlertDialog alertDialog=builder.create();
		alertDialog.show();
    }

    public void actionNeutralButton(){
    	new AlertDialog.Builder(this).setTitle("Ini Title")
    		.setMessage("Ini Message")
    		.setNeutralButton("Oke", new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				//Tidak melakukan apapun
			}
		}).show();
    }

    public void actionDialogList(){
    	AlertDialog.Builder builder=new AlertDialog.Builder(context);
    	builder.setTitle("Distro Linux");
    	builder.setItems(items, new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
			}
		});

    	AlertDialog alertDialog=builder.create();
    	alertDialog.show();
    }

    public void actionRadioList(){
    	AlertDialog.Builder builder=new AlertDialog.Builder(context);
    	builder.setTitle("Radio Items");
    	builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {

			@Override
			public void onClick(DialogInterface arg0, int arg1) {
				// TODO Auto-generated method stub
				Toast.makeText(context, items[arg1], Toast.LENGTH_LONG).show();
			}
		});

    	AlertDialog alertDialog=builder.create();
    	alertDialog.show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

Jalankan aplikasi kawan-kawan.
4-6-2013 4-55-07 PM

Selesai sudah untuk membuat Dialog Radio List.

Bersambung …

One thought on “Dialog Android Part III

  1. Ping-balik: Dialog Android Part IV | Bloger Mencoba Sukses

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s