2011-07-14 20 views
7

Tengo una aplicación que permite a los usuarios eliminar archivos de video. Al pulsar el botón de borrar, estoy usandoCómo mostrar el icono apropiado en el cuadro de diálogo

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; 
     } 
    } 
}; 

Pero este mensaje no tiene una advertencia o borrar icono como vemos en los dispositivos Android. ¿Alguien puede ayudarme a obtener esos íconos o usar cualquier otro diálogo de alerta que pueda mostrar esos íconos?

+1

favor enviar el código, que va a crear AlertDialog. –

+0

Señor, he usado el diálogo (no el cuadro de diálogo de alerta) y quiero un ejemplo de usar diaglog de alerta ... ¿me puede dar uno ... – Farhan

Respuesta

25

que tienden a utilizar AlertDialog.Builder como lo muestran en el ejemplo funcionario doc

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 

En cuanto a la apariencia real del icono dentro de la carpeta SDK/plataformas/versión androide #/datos/res/dibujable-MDPI o algo

+0

intenté establecer dibujable pero no se muestra en el cuadro de diálogo – Farhan

+1

hmm, intente configurar un título también Creo que esa podría ser la razón por la que no estás viendo uno. prueba mi código editado –

+2

Kevin tiene razón, intenta establecer un título también. –

0

basta con sustituir .setIcon(R.drawable.icon); a .setIcon(getResources().getDrawable(R.drawable.icon)); Pero es obsoleto.

1

Con el fin de establecer el valor predeterminado utilizan iconos de diálogo:

.setIcon(android.R.drawable.ic_dialog_alert) 

Hay algunos iconos más disponibles:

  • android.R.drawable.ic_dialog_dialer
  • android.R.drawable .ic_dialog_info
  • android.R.drawable.ic_dialog_email
  • android.R.drawable.ic_dialog_map
0

Otro (sucio) forma:

TypedValue typedValue = new TypedValue(); 
getTheme().resolveAttribute(android.R.attr.alertDialogIcon, typedValue, true); 

new AlertDialog.Builder(this) 
    .setIcon(typedValue.resourceId) 
    ... 
    .show(); 
Cuestiones relacionadas