Android - Dialog Peringatan

Dialog adalah jendela kecil yang mengarahkan pengguna untuk mengambil keputusan atau memasukkan informasi tambahan.

Terkadang dalam aplikasi Anda, jika Anda ingin bertanya kepada pengguna tentang mengambil keputusan antara ya atau tidak sebagai tanggapan atas tindakan tertentu yang diambil oleh pengguna, dengan tetap berada di aktivitas yang sama dan tanpa mengubah layar, Anda dapat menggunakan Dialog Peringatan.

Untuk membuat dialog peringatan, Anda perlu membuat objek AlertDialogBuilder yang merupakan kelas dalam AlertDialog. Sintaksnya diberikan di bawah ini

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

Sekarang Anda harus menyetel tombol positif (ya) atau negatif (tidak) menggunakan objek dari kelas AlertDialogBuilder. Sintaksnya adalah

alertDialogBuilder.setPositiveButton(CharSequence text, 
   DialogInterface.OnClickListener listener)
alertDialogBuilder.setNegativeButton(CharSequence text, 
   DialogInterface.OnClickListener listener)

Selain itu, Anda dapat menggunakan fungsi lain yang disediakan oleh kelas pembuat untuk menyesuaikan dialog peringatan. Ini tercantum di bawah

Sr Tidak Jenis & deskripsi metode
1

setIcon(Drawable icon)

Metode ini mengatur ikon kotak dialog peringatan.

2

setCancelable(boolean cancel able)

Metode ini menyetel properti yang dialognya bisa dibatalkan atau tidak

3

setMessage(CharSequence message)

Metode ini menyetel pesan untuk ditampilkan dalam dialog peringatan

4

setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener)

Metode ini menetapkan daftar item yang akan ditampilkan dalam dialog sebagai konten. Opsi yang dipilih akan diberitahukan oleh pendengar

5

setOnCancelListener(DialogInterface.OnCancelListener onCancelListener)

Metode ini Mengatur panggilan balik yang akan dipanggil jika dialog dibatalkan.

6

setTitle(CharSequence title)

Metode ini mengatur judul yang akan ditampilkan dalam dialog

Setelah membuat dan menyetel pembuat dialog, Anda akan membuat dialog peringatan dengan memanggil metode create () dari kelas pembuat. Sintaksnya adalah

AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();

Ini akan membuat dialog peringatan dan akan menampilkannya di layar.

Fragmen dialog

Sebelum masuk ke suatu contoh kita harus mengetahui dialog fragment. Fragmen dialog adalah fragmen yang dapat menampilkan fragmen pada kotak dialog

public class DialogFragment extends DialogFragment {
   @Override
   public Dialog onCreateDialog(Bundle savedInstanceState) {
      // Use the Builder class for convenient dialog construction
      AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
      builder.setPositiveButton(R.string.fire, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
            toast.makeText(this,"enter a text here",Toast.LENTH_SHORT).show();
         }
      })
      .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int id) {
            finish();
         });
         // Create the AlertDialog object and return it
         return builder.create();
      }
   }
}

Dialog daftar

Ini telah digunakan untuk menampilkan daftar item dalam kotak dialog. Misalkan, pengguna perlu memilih daftar item atau perlu mengklik item dari beberapa daftar item. Dalam situasi ini kita dapat menggunakan dialog daftar.

public Dialog onCreateDialog(Bundle savedInstanceState) {
   AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
   builder.setTitle(Pick a Color)
   
   .setItems(R.array.colors_array, new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {
         // The 'which' argument contains the index position
         // of the selected item
      }
   });
   return builder.create();
}

Dialog daftar pilihan tunggal

Ini telah digunakan untuk menambahkan daftar pilihan tunggal ke kotak Dialog. Kita dapat mencentang atau menghapus centang sesuai pilihan pengguna.

public Dialog onCreateDialog(Bundle savedInstanceState) {
   mSelectedItems = new ArrayList();
   AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
   
   builder.setTitle("This is list choice dialog box");
   .setMultiChoiceItems(R.array.toppings, null,
      new DialogInterface.OnMultiChoiceClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which, boolean isChecked) {
         
         if (isChecked) {
            // If the user checked the item, add it to the selected items
            mSelectedItems.add(which);
         }
         
         else if (mSelectedItems.contains(which)) {
            // Else, if the item is already in the array, remove it 
            mSelectedItems.remove(Integer.valueOf(which));
         }
      }
   })
   
   // Set the action buttons
   .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int id) {
         // User clicked OK, so save the mSelectedItems results somewhere
         // or return them to the component that opened the dialog
         ...
      }
   })
   
   .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int id) {
         ...
      }
   });
   return builder.create();
}

Contoh

Contoh berikut menunjukkan penggunaan AlertDialog di android.

Untuk bereksperimen dengan contoh ini, Anda perlu menjalankannya di emulator atau perangkat sebenarnya.

Langkah Deskripsi
1 Anda akan menggunakan studio Android untuk membuat aplikasi Android dan menamainya sebagai Aplikasi Saya di bawah paket com.example.sairamkrishna.myapplication.
2 Ubah file src / MainActivity.java untuk menambahkan kode dialog peringatan untuk meluncurkan dialog.
3 Ubah layout file XML res / layout / activity_main.xml tambahkan komponen GUI jika diperlukan.
4 Tidak perlu mengubah konstanta string default. Android studio menangani string default di values ​​/ string.xml
5 Jalankan aplikasi dan pilih perangkat android yang sedang berjalan dan instal aplikasi di atasnya dan verifikasi hasilnya.

Berikut adalah kode yang dimodifikasi dari src/MainActivity.java

package com.example.sairamkrishna.myapplication;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }

   public void open(View view){
      AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
      alertDialogBuilder.setMessage("Are you sure,
         You wanted to make decision");
      alertDialogBuilder.setPositiveButton("yes", 
         new DialogInterface.OnClickListener() {
         @Override
         public void onClick(DialogInterface arg0, int arg1) {
            Toast.makeText(MainActivity.this,"You clicked yes 
               button",Toast.LENGTH_LONG).show();
         }
      });

      alertDialogBuilder.setNegativeButton("No",new DialogInterface.OnClickListener() {
         Override
         public void onClick(DialogInterface dialog, int which) {
            finish();
         }
      });

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

Berikut adalah kode yang dimodifikasi dari res/layout/activity_main.xml

Pada kode di bawah ini abc menunjukkan logo tutorialspoint.com
<?xml version="1.0" encoding="utf-8"?>
<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" 
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" 
   tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Alert Dialog"
      android:id="@+id/textView"
      android:textSize="35dp"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorialspoint"
      android:id="@+id/textView2"
      android:textColor="#ff3eff0f"
      android:textSize="35dp"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_alignRight="@+id/textView2"
      android:layout_alignEnd="@+id/textView2"
      android:layout_alignLeft="@+id/textView"
      android:layout_alignStart="@+id/textView" />
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Alert dialog"
      android:id="@+id/button"
      android:layout_below="@+id/imageView"
      android:layout_alignRight="@+id/textView2"
      android:layout_alignEnd="@+id/textView2"
      android:layout_marginTop="42dp"
      android:onClick="open"
      android:layout_alignLeft="@+id/imageView"
      android:layout_alignStart="@+id/imageView" />
      
</RelativeLayout>

Ini dariStrings.xml

<resources>
    <string name="app_name">My Application</string>
</resources>

Berikut adalah kode default AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >

   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.sairamkrishna.myapplication.MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

Mari coba jalankan aplikasi Anda. Saya berasumsi bahwa Anda telah menghubungkan perangkat Android Mobile Anda yang sebenarnya dengan komputer Anda. Untuk menjalankan aplikasi dari Android studio, buka salah satu file aktivitas proyek Anda dan klik

ikon Run dari toolbar. Sebelum memulai aplikasi Anda,] Android studio akan menampilkan jendela berikut untuk memilih opsi di mana Anda ingin menjalankan aplikasi Android Anda.

Pilih opsi Anda dan kemudian klik di atasnya. Misalkan, jika Anda telah mengklik tombol yes, maka hasilnya adalah sebagai berikut

jika Anda mengklik tidak ada tombol itu akan memanggil finish () dan itu akan menutup aplikasi Anda.