34 - AlertDialog con botones de confirmar y cancelarYa se encuentra disponible el nuevo tutorial para aprender android con el nuevo entorno Android Studio propuesto por Google y que remplaza a Eclipse. |
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:
Este proyecto lo puede descargar en un zip desde este enlace: proyecto032.zip