Dialog Android Part II

Lets Rock with Android…
Lanjuut kawan..

Pada postingan sebelumnya kita telah berhasil membuat Dialog sederhana. Kali ini kita akan membuat Dialog List, wah apaan tuh?. Nah, pada Dialog List ini kita dapat memberikan daftar pilihan dialog yang kita buat. Pada dialog list ini terdapat 3 macam list, antara lain :

  1. A traditional single-choice list : memilih sebuah pilihan sederhana
  2. A persistent single-choice list (radio buttons) : memilih sebuah pilihan dengan radio button
  3. A persistent multiple-choice list (checkboxes) : memilih beberapa pilihan dengan ChekBox

Langsung saja buka Eclipse kesayangan dan buka project yang telah kawan-kawan buat pada postingan sebelumnya (DialogTest). Buka activity_main.xml, tambahkan kode berikut dibawah button pertama :

  <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" />

Untuk 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/btnKeluar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/btnList"
        android:text="Keluar"
        tools:ignore="HardcodedText" />

</RelativeLayout>

Selanjutnya buka MainActivity.java dan tambahkan sebuah atribut bertipe button, dikarenakan pada desain aplikasinya kita telah menambahkan sebuat button. Dan buat pula sebuah array untuk menampung list items yang akan kita buat.

Button buttonList;

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

Selain itu deklarasikan pula button yang kita tambahkan tadi pada method onCreate(Bundle savedInstanceState).

  buttonList=(Button) findViewById(R.id.btnList);

Langkah selanjutnya, buat lagi sebuah method untuk menampung dialog list yang akan kita buat. Dalam hal ini methodnya ane berinama actionDialogList().

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

Setelah method selesai kita buat, saatnya memberikan event pada button yang kita tambahkan tadi. Tambahkan kode berikut pada method onCreate(Bundle savedInstanceState).

  buttonList.setOnClickListener(new OnClickListener() {

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

Untuk lebih jelasnya, berikut source lengkap MainActivity.java.

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;

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

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

    @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;
    }
}

Langkah terkhir, jalankan aplikasi kawan-kawan.
4-6-2013 4-25-52 PM

Dan Akhirnya kita telah berhasil membuat Dialog List.

Bersambung …

2 thoughts on “Dialog Android Part II

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

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