Saturday 6 April 2013

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 :



[sourcecode language="xml"]
<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" />
[/sourcecode]

Untuk lebih jelasnya, Berikut source lengkapnya :



[sourcecode language="xml"]
<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>
[/sourcecode]

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.



[sourcecode language="java"]
Button buttonList;

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

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



[sourcecode language="java"]
buttonList=(Button) findViewById(R.id.btnList);
[/sourcecode]

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



[sourcecode language="java"]
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();
}
[/sourcecode]

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



[sourcecode language="java"]
buttonList.setOnClickListener(new OnClickListener() {

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

Untuk lebih jelasnya, berikut source lengkap MainActivity.java.



[sourcecode language="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;
}
}
[/sourcecode]

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



Dan Akhirnya kita telah berhasil membuat Dialog List.



Bersambung ...

Posted by Unknown On 09:30 2 comments

2 comments:

  1. [...] baiklah kawan BMS, melanjutkan dari postingan sebelumnya, kali ini kita akan membuat sebuah Dialog List dengan radio button. Caranya gak jauh beda sama [...]

    ReplyDelete
  2. [...] sekarang kita telah berhasil membuat dialog sederhana, single-choice list, single-choice list (radio buttons) dan multiple-choice list (checkboxes). Pada episode [...]

    ReplyDelete

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

Recent Post

Entri Populer

Total Pageviews

Visitor



Flag Counter

    About

    Orang yang berilmu mengetahui orang yang bodoh karena dia pernah bodoh, sedangkan orang yang bodoh tidak mengetahui orang yang berilmu karena dia tidak pernah berilmu.