Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to show appropriate icon on dialog box

I have an application that allows the users to delete video files. When I press the delete button, I am using

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
        switch (which) {
        case DialogInterface.BUTTON_POSITIVE:
            // mycode........
            break;
        case DialogInterface.BUTTON_NEGATIVE:
            // mycode.....
            break;
        }
    }
};

But this message doesn't have a warning or delete icon as we see in android devices. Can anyone help me in getting those icons or using any other alert dialogs that can show those icons?

like image 738
Farhan Avatar asked Jul 14 '11 12:07

Farhan


2 Answers

In order to set the default Dialog icons use:

.setIcon(android.R.drawable.ic_dialog_alert)

There are a few more icons available:

  • android.R.drawable.ic_dialog_dialer
  • android.R.drawable.ic_dialog_info
  • android.R.drawable.ic_dialog_email
  • android.R.drawable.ic_dialog_map
like image 52
Harald Unander Avatar answered Nov 15 '22 19:11

Harald Unander


I tend to use AlertDialog.Builder like they show in the official doc example

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
   .setCancelable(false)
   .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int id) {
            MyActivity.this.finish();
       }
   })
   .setNegativeButton("No", new DialogInterface.OnClickListener() {
       public void onClick(DialogInterface dialog, int id) {
            dialog.cancel();
       }
   })
   //Set your icon here
   .setTitle("Alert!")
   .setIcon(R.drawable.icon);
AlertDialog alert = builder.create();
 alert.show();//showing the dialog

As for the actual icon look inside your sdk folder/platforms/android version #/data/res/drawable-mdpi or something

like image 26
Kevin Qiu Avatar answered Nov 15 '22 20:11

Kevin Qiu