..
Obviamente, un AlertDialog estructurado como el capítulo anterior no es muy útil porque no tiene el botón y, de hecho bloquea la aplicación porque no hay manera de quitarlo de la pantalla.
Antes de añadir el all'AlertDialog botones, sin embargo, se debe añadir un objeto TextView en la que vamos a escribir un mensaje diferente dependiendo del botón pulsado por el usuario.
La adición de la TextView se deja como ejercicio para el lector.
Para la adición de botones y la asociación de oyentes ALertDialog simplemente reemplazar el código escrito en el capítulo anterior con lo siguiente:
AlertDialog.Builder miaAlert AlertDialog.Builder = new (este);
miaAlert.setMessage ("verificar el funcionamiento de los botones de añadir");
miaAlert.setTitle ("AlertDialog de MrWebMaster");
miaAlert.setCancelable (false);
miaAlert.setPositiveButton ("Sí", el nuevo DialogInterface.OnClickListener () {
public void onClick (diálogo DialogInterface, int id) {
tv.setText ("Hice clic en el botón YES");
}
});
miaAlert.setNegativeButton ("No", DialogInterface.OnClickListener nuevo () {
public void onClick (diálogo DialogInterface, int id) {
tv.setText ("He hecho clic en el botón NO");
}
});
MiaAlert.create AlertDialog alerta = ();
Alert.show ();
En cuanto a las tres primeras líneas de código no hace falta explicar nada inquanto son idénticos a los que se muestran en el capítulo anterior. De cara al futuro con el análisis del código nos encontramos con el método de invocación setCanceble (falso), que tiene el efecto de deshabilitar el botón de atrás del teléfono y entonces usted tendrá que hacer clic en uno de los dos botones para cerrar la AlertDialog.
Una vez dicho esto pasamos a la creación de botones reales. El primer botón se crea con el setPositiveButton método que toma como entrada una cadena que se mostrará en la pantalla como el contenido del botón y un oyente. Como se puede observar que el oyente se declara como una nueva instancia de DialogInterface.OnClickListener y no como una nueva instancia de View.OnClickListener. Este hecho sólo se puede aplicar a los elementos eriditano la clase View, y ya no la AlertDialog heredar esta clase, pero son parte de la android.app paquete, debe utilizar un oyente como DialogInterface.
En la práctica, esta diferencia no es sostanzianziale, de hecho, en este caso, usted tendrá que reemplazar el método OnClick e introduzca el código de la conducta que queremos hacer dos botones. Como podemos ver el método OnClick toma como entrada dos parámetros: el primero es un objeto de tipo AlertDialog (cuadro de diálogo que le dice lo que causó la activación de la escucha), y luego un ID que identifica el botón pulsado. Sólo tienes que ir dentro del método OnClick para cambiar el texto en la televisión TextView.
La estructura del método OnClick sugiere una versión optimizada de nuestros oyentes. De hecho AlertDialog saber lo que desencadenó el oyente y el botón que se ha hecho clic en la alerta, puede crear un solo oyente para manejar un mayor AlertDialog y los botones correspondientes. Esto se logra simplemente mediante la ejecución de un interruptor por primera vez en el cuadro de diálogo de atributos (AlertDialog vamos a identificar lo que desencadena el oyente) y en cada caso en AlertDialog poner en otro switch para determinar qué botón de la AlertDialog tener en cuenta, es clic en él.
Se deja como ejercicio para el lector que esta nueva implementación del oyente es básicamente muy similar a la observada en los capítulos anteriores de esta guía.
| |
Java (Curso)
Programación orientada a objetos de programación en Java dom A partir de 49 €. |
| |
Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €. |
| |
Photoshop (Curso)
Web de gráficos y edición de fotos con el popular Photoshop de Adobe. Descuento -10% hasta el 14/09/2011. |