34 - AlertDialog con botones de confirmar y cancelar

Ya se encuentra disponible el nuevo tutorial para aprender android con el nuevo entorno Android Studio propuesto por Google y que remplaza a Eclipse.


Problema:

Confeccionar una aplicación que muestre un diálogo cada vez que se inicie la aplicación informando: "¿Acepta la ejecución de este programa en modo prueba?" y dos botones para confirmar o rechazar. En caso que se rechace finalizar la ejecución del programa.

Primero creamos un proyecto llamado: proyecto032
Lo almacenamos en el paquete: androidya.proyecto032

El código fuente de la aplicación queda como sigue:

package androidya.proyecto032;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.Toast;

public class Proyecto032Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        AlertDialog.Builder dialogo1 = new AlertDialog.Builder(this);  
        dialogo1.setTitle("Importante");  
        dialogo1.setMessage("¿ Acepta la ejecución de este programa en modo prueba ?");            
        dialogo1.setCancelable(false);  
        dialogo1.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialogo1, int id) {  
                aceptar();  
            }  
        });  
        dialogo1.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialogo1, int id) {  
                cancelar();
            }  
        });            
        dialogo1.show();        
    }
    
    public void aceptar() {
        Toast t=Toast.makeText(this,"Bienvenido a probar el programa.", Toast.LENGTH_SHORT);
        t.show();
    }
    
    public void cancelar() {
        finish();
    }
}

Creamos un objeto de la clase AlertDialog a través de la clase Builder:

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

Configuramos el título del diálogo:

        dialogo1.setTitle("Importante");  

Configuramos el mensaje del diálogo:

        dialogo1.setMessage("¿ Acepta la ejecución de este programa en modo prueba ?");            

Evitamos que el diálogo sea salteado por cualquier medio distinto a presionar alguno de los dos botones:

        dialogo1.setCancelable(false);  

Llamamos al método setPositiveButton indicando el texto a mostrar en el botón y la clase anónima que capturará el evento clic del botón:

        dialogo1.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialogo1, int id) {  
                aceptar();  
            }  
        });  

De forma similar procedemos con el botón de cancelar:

        dialogo1.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialogo1, int id) {  
                cancelar();
            }  
        });            

Mostramos el diálogo:

        dialogo1.show();        

Definimos los métodos del Activity que se llamaran desde las clases anónimas:

    public void aceptar() {
        Toast t=Toast.makeText(this,"Bienvenido a probar el programa.", Toast.LENGTH_SHORT);
        t.show();
    }
    
    public void cancelar() {
        finish();
    }

La interfaz del diálogo es similar a esta:

Diálogo en Android

Este proyecto lo puede descargar en un zip desde este enlace: proyecto032.zip

Retornar