2010-07-24 12 views
8

¿Alguien podría explicar en qué contexto debo usar la clase AlertDialog.Builder? Soy nuevo en el desarrollo de aplicaciones de Android y, francamente, no entiendo qué contexto usar cuando?¿en qué contexto debo usar AlertDialog.Builder?

Say, quiero crear un objeto de la clase AlertDialog.Builder -

AlertDialog.Builder ab = new AlertDialog.Builder(); 
ab.setMessage("Test"); 

ab.show(); 

qué contexto se debe utilizar en? ¿Es diferente si uso el Diálogo de alerta onCreate o OnClickListener o en el controlador de dicho evento?

Respuesta

4

En la primera versión de mi aplicación cometí el error de no usar onCreateDialog y creé y mostraba los diálogos. Si lo hace usted mismo, tiene que encargarse de cosas como cerrar el diálogo antes de que la actividad termine() ed; de lo contrario, se perderá una ventana.

Anularía onCreateDialog en su actividad y devolvería ab.create() (not show()). onCreateDialog se encargará de mostrar el diálogo y solo tendrá que llamar a showDialog (id).

11

Debe usar el contexto de la actividad desde la que se ejecuta. En otras palabras, simplemente use YourNameOfActivity.this como contexto.

1
AlertDialog.Builder ab = new AlertDialog.Builder(this); 
ab.setMessage("Test") 
    .show; 

(o) si quieres (sí, no) significa utilizar este botón

AlertDialog.Builder ab = new AlertDialog.Builder(this); 
ab.setMessage("Are you sure you want to exit?") 
    .setPositiveButton("Yes", dialogClickListener) 
    .setNegativeButton("No", dialogClickListener) 
    .show();