Ada banyak jenis Dialog di Android - pop up windows yang menginformasikan, mengkonfirmasi atau data permintaan dari pengguna. Hari ini kita akan melihat pada kelas AlertDialog - pop up window dialog sederhana yang dapat menampilkan judul, pesan teks, dan sampai 3 tombol - yang positif, satu negatif dan satu netral. Ini juga memungkinkan untuk menampilkan hal-hal yang lebih kompleks di sini seperti daftar dan switch, tapi kita akan sampai ke itu nanti.
Pertama, pergi kemain Activity layout XML dan menambahkan tombol
<LinearLayout 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" android:orientation="vertical" tools:context=".MainActivity" > <Button android:id="@+id/testButton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Call an AlertDialog" /> </LinearLayout>
Sekarang pergi ke kelas MainActivity.java. Di sini, membuat referensi ke tombol dalam tata letak dan menambahkan pendengar klik acara untuk itu.
Dalam fungsi handler onClick dari pendengar, kita akan menciptakan AlertDialog. Pertama, mendeklarasikan variabel pembangun kelas AlertDialog.Builder.
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
Sekarang kita bisa menyesuaikannya. Saya ingin jendela dialog untuk memiliki 2 tombol - Ya dan Tidak, dan tombol Yes menutup aplikasi, sementara tombol yang menutup hanya dialog.
Mengatur judul dan pesan dialog:
builder.setTitle("Exit application"); builder.setMessage("Do you want to exit?");
Buat tombol positif menggunakan setPositiveButton () method. Ini memiliki 2 parameter - label dari tombol dan OnClickListener tombol. Kita bisa menutup aplikasi menggunakan MainActivity.this.finish ():
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { MainActivity.this.finish(); } });
Tombol negatif dibuat sama:
builder.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } });
Kemudian kita dapat membuat tidak mungkin bagi pengguna untuk menutup dialog dengan menekan tombol "Kembali" pada perangkat mereka. Lakukan ini menggunakan setCancelable () method:
builder.setCancelable(false);
selanjutnya
AlertDialog myDialog = builder.create(); myDialog.show();
Full MainActivity.java code:
package com.alertbox tutorial; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.testButton); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("Exit application"); builder.setMessage("Do you want to exit?"); builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { MainActivity.this.finish(); } }); builder.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); builder.setCancelable(false); AlertDialog myDialog = builder.create(); myDialog.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; } }
Terimakasih telah membaca
Tidak ada komentar:
Posting Komentar