Tuesday, March 17, 2015

Membuat Dialog Keluar (Close Dialog) Android di EClipse Menggunakan Tombol Back


Assalammu’alaikum Warahmatullahi Wabarakatuh..

Alhamdulillah, wassalawattu, wassalammu’alarosulillah ‘ammaba’du..

Pada posting saya sebelumnya sudah dijelaskan membuat close dialog menggunakan button di sini pada tutorial ini bagaimana membuat close dialog pada saat tombol back di tekan di layar utama aplikasi android anda..

Langsung saja langkah-langkahnya:

1.  Buat project baru atau bisa modifikasi dari project tutorial sebelumnya atau project yang sudah ada.
2. Buka file MainActivity.java atau file java yang menampilkan acitivity utama (menu utama) pada aplikasi anda.

Kemudian tambahkan public void onBackPressed(). Fungsinya untuk menghandle ketika di tekan tombol back..
/*author yosef hadyan*/
public void onBackPressed() {
   exit();//Pergi ke method exit 
 }
 
private void exit() {
  AlertDialog.Builder builder = new AlertDialog.Builder(this);
  builder.setMessage("Are You Sure Want to Exit?")
  .setCancelable(false)//tidak bisa tekan tombol back
  //jika pilih yess
  .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int id) {
    finish();
   }
  })
  //jika pilih no
  .setNegativeButton("No", new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int id) {
    dialog.cancel();
   }
  }).show();

 }

Contoh source code lengkap MainActivity.java
/*author yosef hadyan*/

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.Menu;

public class MainActivity extends Activity {
//Muhammad Muslim Rifai
//Fai19
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
 //Jika Tekan Tombol back
 public void onBackPressed() {
   exit();//Pergi ke method exit 
 }
 private void exit() {
  AlertDialog.Builder builder = new AlertDialog.Builder(this);
  builder.setMessage("Are You Sure Want to Exit?")
  .setCancelable(false)//tidak bisa tekan tombol back
  //jika pilih yess
  .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int id) {
    finish();
   }
  })
  //jika pilih no
  .setNegativeButton("No", new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int id) {
    dialog.cancel();
   }
  }).show();

 }
}

Hasilnya seperti berikut:



Sekali lagi Meskipun disini saya mengajarkan untuk copy paste, tapi sebisa saya saya sudah jelaskan sedikit tentang fungsi-fungsi dari coding diatas, ingat konsep tentang pemograman yaitu ATM (Amati, Tiru, Modifikasi) jangan hanya bisa mencopy paste saja ya ^_^. Ok sekian tutorial kali ini, semoga bermanfaat..

Wassalammu’alaikum Warahmatullahi Wabarakatuh.. 

No comments:

Post a Comment