Crear un cuadro de diálogo de alerta en Android

Crear un cuadro de diálogo de alerta en Android

En este tutorial, aprenderá cómo crear un cuadro de diálogo de alerta en su aplicación de Android. El uso del cuadro de diálogo Alerta es mostrar una alerta en su aplicación para llamar la atención de los usuarios o enfocarse en algo. El cuadro de diálogo de alerta puede administrar hasta tres botones y una lista de elementos seleccionables que pueden incluir casillas de verificación o botones de opción. Vamos a empezar…

Cree un nuevo proyecto en Eclipse  File  >  New  >  Android Application Project. Complete los detalles y nombre su proyecto  AlertDialogTutorial.

Nombre de la aplicación:  AlertDialogTutorial

Nombre del proyecto:  AlertDialogTutorial

Nombre del paquete:  com.androidbegin. alertadiálogotutorial

Abra su  MainActivity .java  y pegue el siguiente código.

Actividad principal .java

paquete com.androidbegin.alertdialogtutorial;

importar android.os.Bundle;
importar android.app.Actividad;
importar android.app.AlertDialog;
importar android.content.DialogInterface;
importar android.content.Intent;
importar android.view.View;
importar android.view.View.OnClickListener;
importar android.widget.Button;
importar android.widget.Toast;

clase pública MainActivity extiende Actividad {

	Botón un_botón, dos_botones, nuevo_botón_de_actividad;

	@Anular
	public void onCreate (Paquete guardadoInstanceState) {
		super.onCreate(estadoDeInstanciaGuardado);
		// Obtener la vista de alert_dialog.xml
		setContentView(R.layout.alert_dialog);

		// Localice los botones en alert_dialog.xml
		one_button = (Botón) findViewById(R.id.one_button);
		dos_boton = (Boton) findViewById(R.id.dos_boton);
		botón_nueva_actividad = (Botón) findViewById(R.id.botón_nueva_actividad);

		// Captura el primer clic del botón
		one_button.setOnClickListener(nuevo OnClickListener() {

			public void onClick (Ver arg0) {
				AlertDialog.Builder constructor = new AlertDialog.Builder(
						MainActivity.this);

				// Establecer título de diálogo de alerta
				builder.setTitle("Tutorial de diálogo de alerta");

				// Establecer un icono para este cuadro de diálogo de alerta
				constructor.setIcon(R.dibujable.androidfeliz);

				// Establecer mensaje de diálogo de alerta
				constructor.setMessage(
						"Un tutorial de AlertDialog de AndroidBegin.com")

				// Funcionalidad del botón neutral
						.setNeutralButton("OK",
								nueva DialogInterface.OnClickListener() {
									public void onClick (diálogo de interfaz de diálogo,
											int arg0) {
										Brindis.hacerTexto(
												MainActivity.esto,
												"Hiciste clic en Aceptar",
												Tostadas.LENGTH_SHORT).show();
										// Haz más cosas
									}
								});

				// Crear el cuadro de diálogo de alerta
				AlertDialog alertdialog = builder.create();

				// Mostrar diálogo de alerta
				alertadialog.show();
			}
		});

		// Captura el segundo clic del botón
		dos_botones.setOnClickListener(nuevo OnClickListener() {

			public void onClick (Ver arg0) {
				AlertDialog.Builder constructor = new AlertDialog.Builder(
						MainActivity.this);

				// Establecer título de diálogo de alerta
				builder.setTitle("Tutorial de diálogo de alerta");

				// Establecer un icono para este cuadro de diálogo de alerta
				constructor.setIcon(R.dibujable.androidfeliz);

				// Establecer mensaje de diálogo de alerta
				builder.setMessage("¿Quiere salir?")

						// Funcionalidad de botón positivo
						.setPositiveButton("Sí",
								nueva DialogInterface.OnClickListener() {
									public void onClick (diálogo de interfaz de diálogo,
											int arg0) {
										Brindis.hacerTexto(
												MainActivity.esto,
												"Hiciste clic en Sí",
												Tostadas.LENGTH_SHORT).show();
										// Haz más cosas
										// terminar();
									}
								})
						// Funcionalidad del botón negativo
						.setBotónNegativo("No",
								nueva DialogInterface.OnClickListener() {
									public void onClick (diálogo de interfaz de diálogo,
											int arg0) {
										Brindis.hacerTexto(
												MainActivity.esto,
												"Hiciste clic en No",
												Tostadas.LENGTH_SHORT).show();
										// Haz más cosas
										// diálogo.cancel();
									}
								});

				// Crear el cuadro de diálogo de alerta
				AlertDialog alertdialog = builder.create();

				// Mostrar diálogo de alerta
				alertadialog.show();
			}
		});

		// Captura el tercer clic del botón
		nuevo_boton_actividad.setOnClickListener(nuevo OnClickListener() {

			public void onClick (Ver arg0) {
				AlertDialog.Builder constructor = new AlertDialog.Builder(
						MainActivity.this);

				// Establecer título de diálogo de alerta
				builder.setTitle("Tutorial de diálogo de alerta");

				// Establecer un icono para este cuadro de diálogo de alerta
				constructor.setIcon(R.dibujable.androidfeliz);

				// Establecer mensaje de diálogo de alerta
				builder.setMessage("¿Desea abrir una nueva actividad?")

						// Funcionalidad de botón positivo
						.setPositiveButton("Sí",
								nueva DialogInterface.OnClickListener() {
									public void onClick (diálogo de interfaz de diálogo,
											int arg0) {
										Brindis.hacerTexto(
												MainActivity.esto,
												"Hiciste clic en Sí",
												Tostadas.LENGTH_SHORT).show();
										Intención i = nueva Intención (
												MainActivity.esto,
												NuevaActividad.clase);
										iniciarActividad(i);
									}
								})
						// Funcionalidad del botón negativo
						.setBotónNegativo("No",
								nueva DialogInterface.OnClickListener() {
									public void onClick (diálogo de interfaz de diálogo,
											int arg0) {
										Brindis.hacerTexto(
												MainActivity.esto,
												"Hiciste clic en No",
												Tostadas.LENGTH_SHORT).show();
										diálogo.cancel();
										// Haz más cosas
									}
								});

				// Crear el cuadro de diálogo de alerta
				AlertDialog alertdialog = builder.create();

				// Mostrar diálogo de alerta
				alertadialog.show();
			}
		});
	}

}

Hemos creado tres botones con los códigos de arriba. El primer botón muestra un  cuadro de diálogo de alerta con un solo  botón Aceptar usando el código a continuación.

// Captura el primer clic del botón
        one_button.setOnClickListener(nuevo OnClickListener() {

            public void onClick (Ver arg0) {
            	AlertDialog.Builder builder = new AlertDialog.Builder(AlertDialogActivity.this);

            	// Establecer título de diálogo de alerta
            	builder.setTitle("Tutorial de diálogo de alerta");

            	// Establecer un icono para este cuadro de diálogo de alerta
            	constructor.setIcon(R.dibujable.androidfeliz);

            	// Establecer mensaje de diálogo de alerta
            	builder.setMessage("Tutorial de AlertDialog de AndroidBegin.com")

            		   	// Funcionalidad del botón neutral
     		           .setNeutralButton("OK", nueva DialogInterface.OnClickListener() {
     		               onClick public void (diálogo de interfaz de diálogo, int arg0) {
     		            	  Toast.makeText(AlertDialogActivity.this, "Hiciste clic en Aceptar", Toast.LENGTH_SHORT).show();    		            	   
     		            	  //Haz más cosas
     		               }
     		           });

            	// Crear el cuadro de diálogo de alerta
     		    AlertDialog alertdialog = builder.create();

     		    // Mostrar diálogo de alerta
     		    alertadialog.show();
     		}  
        });

Producción :

Diálogo de alerta Un botón

El segundo botón muestra un cuadro de diálogo de alerta con un botón Sí/No usando el código a continuación.  Al hacer clic en el botón Sí , puede salir de la aplicación usando finish();

// Captura el segundo clic del botón
        dos_botones.setOnClickListener(nuevo OnClickListener() {

            public void onClick (Ver arg0) {
            	AlertDialog.Builder builder = new AlertDialog.Builder(AlertDialogActivity.this);

            	// Establecer título de diálogo de alerta
            	builder.setTitle("Tutorial de diálogo de alerta");

            	// Establecer un icono para este cuadro de diálogo de alerta
            	constructor.setIcon(R.dibujable.androidfeliz);

            	// Establecer mensaje de diálogo de alerta
            	builder.setMessage("¿Quiere salir?")

            		   	// Funcionalidad de botón positivo
     		           .setPositiveButton("Sí", nueva DialogInterface.OnClickListener() {
     		               onClick public void (diálogo de interfaz de diálogo, int arg0) {
     		            	 Toast.makeText(AlertDialogActivity.this, "Hiciste clic en Sí", Toast.LENGTH_SHORT).show();    		            	   
     		            	 //Haz más cosas
     		            	 //terminar();
     		               }
     		           })
     		           	// Funcionalidad del botón negativo
     		           .setNegativeButton("No", nueva DialogInterface.OnClickListener() {
     		               onClick public void (diálogo de interfaz de diálogo, int arg0) {
     		            	 Toast.makeText(AlertDialogActivity.this, "Hiciste clic en No", Toast.LENGTH_SHORT).show();
     		            	 //Haz más cosas
     		            	 //diálogo.cancel();
     		               }
     		           });

            	// Crear el cuadro de diálogo de alerta
     		    AlertDialog alertdialog = builder.create();

     		    // Mostrar diálogo de alerta
     		    alertadialog.show();
     		}  
        });

Producción :

Alerta Diálogo Dos Botones

El tercer botón muestra un cuadro de diálogo de alerta con un botón Sí/No usando el código a continuación. Al hacer clic en el botón Sí, se abrirá una nueva actividad usando una intención.

// Captura el tercer clic del botón
        nuevo_boton_actividad.setOnClickListener(nuevo OnClickListener() {

            public void onClick (Ver arg0) {
            	AlertDialog.Builder builder = new AlertDialog.Builder(AlertDialogActivity.this);

            	// Establecer título de diálogo de alerta
            	builder.setTitle("Tutorial de diálogo de alerta");

            	// Establecer un icono para este cuadro de diálogo de alerta
            	constructor.setIcon(R.dibujable.androidfeliz);

            	// Establecer mensaje de diálogo de alerta
            	builder.setMessage("¿Desea abrir una nueva actividad?")

            		   	// Funcionalidad de botón positivo
     		           .setPositiveButton("Sí", nueva DialogInterface.OnClickListener() {
     		               onClick public void (diálogo de interfaz de diálogo, int arg0) {
     		            	  Toast.makeText(AlertDialogActivity.this, "Hiciste clic en Sí", Toast.LENGTH_SHORT).show();    		            	   
     		            	  Intención i = nueva Intención (AlertDialogActivity.this, NewActivity.class);
     		            	  iniciarActividad(i);
     		               }
     		           })
     		           	// Funcionalidad del botón negativo
     		           .setNegativeButton("No", nueva DialogInterface.OnClickListener() {
     		               onClick public void (diálogo de interfaz de diálogo, int arg0) {
     		            	  Toast.makeText(AlertDialogActivity.this, "Hiciste clic en No", Toast.LENGTH_SHORT).show();
     		            	  diálogo.cancel();
     		            	  //Haz más cosas
     		               }
     		           });

            	// Crear el cuadro de diálogo de alerta
     		    AlertDialog alertdialog = builder.create();

     		    // Mostrar diálogo de alerta
     		    alertadialog.show();
     		}  
        });

Producción :

Nuevo botón de actividad

Hemos preparado un ícono de diálogo de alerta de muestra para este tutorial. Inserte su ícono de diálogo de alerta de muestra descargado en su  res  >  drawable-hdpi.

Icono de diálogo de alerta de muestra

[wpfilebase tag=ID de archivo=27 tpl=botón de descarga/]

A continuación, cree un archivo XML para su  diseño gráfico de MainActivity  . Vaya a  res  >  diseño  > Haga clic con el botón derecho en el  diseño  >  Nuevo  >  Archivo XML de Android

Nombre su nuevo archivo XML  alert_dialog.xml  y pegue el siguiente código.

alerta_diálogo .xml

<RelativeLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_herramientas="http://esquemas.android.com/herramientas"
    android_layout_width="match_parent"
    android_layout_height="match_parent" >

    <Botón
        android_id="@+id/un_botón"
        android_layout_width="wrap_content"
        android_layout_height="wrap_content"
        android_layout_above="@+id/dos_botones"
        android_layout_centerHorizontal="verdadero"
        android_text="@string/one_button" />

    <Botón
        android_id="@+id/dos_botones"
        android_layout_width="wrap_content"
        android_layout_height="wrap_content"
        android_layout_above="@+id/nuevo_botón_de_actividad"
        android_layout_centerHorizontal="verdadero"
        android_text="@cadena/dos_botones" />

    <Botón
        android_id="@+id/nuevo_botón_de_actividad"
        android_layout_width="wrap_content"
        android_layout_height="wrap_content"
        android_layout_centerInParent="verdadero"
        android_text="@cadena/nuevo_boton_actividad" />

</RelativeLayout>

A continuación, cree una nueva actividad en una nueva clase llamada  NewActivity .java . Vaya a  Archivo  >  Nuevo  >  Clase  y asígnele el nombre  NewActivity .java. Seleccione su paquete llamado  com.androidbegin.alertdialogtutorial  y haga clic en  Finalizar .

Abra su  NewActivity .java  y pegue el siguiente código.

Nueva actividad .java

paquete com.androidbegin.alertdialogtutorial;

importar android.os.Bundle;
importar android.app.Actividad;

clase pública NewActivity extiende Actividad {

	@Anular
	public void onCreate (Paquete guardadoInstanceState) {
		super.onCreate(estadoDeInstanciaGuardado);
		// Obtener la vista de new_activity.xml
		setContentView(R.diseño.nueva_actividad);
	}
}

A continuación, cree un diseño gráfico XML para su NewActivity. Vaya a  res  >  diseño  > Haga clic con el botón derecho en el  diseño  >  Nuevo  >  Archivo XML de Android

Nombre su nuevo archivo XML  new_activity.xml  y pegue el siguiente código.

nueva_actividad .xml

<RelativeLayout xmlns_android="http://schemas.android.com/apk/res/android"
    xmlns_herramientas="http://esquemas.android.com/herramientas"
    android_layout_width="match_parent"
    android_layout_height="match_parent" >

    <Vista de texto
        android_layout_width="wrap_content"
        android_layout_height="wrap_content"
        android_layout_centerInParent="verdadero"
        android_gravedad="centro"
        android_text="@cadena/NuevaActividad"/>

</RelativeLayout>

A continuación, cambie el nombre y los textos de la aplicación. Abra su  strings.xml  en su carpeta  res > valores  y pegue el siguiente código.

cadenas.xml

<recursos>

    <string name="app_name">Tutorial de AlertDialog</string>
    <string name="menu_settings">Configuración</string>
    <string name="NewActivity">He creado con éxito un cuadro de diálogo de alerta en Android que abre una nueva actividad al hacer clic en el botón "Sí".</string>
    <string name="one_button">Diálogo de alerta con un botón</string>
    <string name="two_button">Diálogo de alerta con dos botones</string>
    <string name="new_activity_button">Diálogo de alerta Abrir nueva actividad</string>

</recursos>

En su  AndroidManifest.xml , debemos declarar una actividad. Abra su  AndroidManifest.xml  y pegue el siguiente código.

Manifiesto de Android. xml

<manifiesto xmlns_android="http://schemas.android.com/apk/res/android"
    paquete="com.androidbegin.alertdialogtutorial"
    android_versionCode="1"
    android_versionName="1.0" >

    <usos-sdk
        android_minSdkVersion="8"
        android_targetSdkVersion="15" />

    <aplicación
        android_icono="@dibujable/ic_launcher"
        android_etiqueta="@cadena/nombre_aplicación"
        android_tema="@estilo/AppTheme" >
        <actividad android_name=".MainActivity" >
            <intent-filter>
                <acción android_name="android.intent.action.MAIN" />

                <categoría android_name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </actividad>
        <actividad android_name=".NuevaActividad" >
        </actividad>
    </aplicación>

</manifiesto>

Producción:

Capturas de pantalla del tutorial AlertDialog

Código fuente 

[purchase_link id=”7837″ text=”Comprar para descargar el código fuente” style=”button” color=”green”]