Cerrar un AlertDialog desde otro método u otra Activity

756 views
Skip to first unread message

Javier Hdez

unread,
Dec 9, 2011, 2:12:47 AM12/9/11
to desarrolladores-android
Hola,

Tengo varios AlertDialog y no me suelen dar problemas, pero hay uno
que necesito cerrar sin que intervenga el usuario, es en un
onPostExecuted() de un AsyncTask(), necesito cerrarlo aunque el
usuario no pulse el botón Positive, pero no lo consigo, desde otro
método el IDE no me sugiere un finish() o un dismiss() ni nada así, no
sé que utilizar, si es que se puede porque a lo mejor no se puede.

¿alguien tiene idea de como hacerlo?

saludos

Mauricio Montilla

unread,
Dec 9, 2011, 2:58:30 AM12/9/11
to desarrollad...@googlegroups.com
Los alertDialog se cancelan con .cancel o se descartan con .dismiss
> --
> Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
> Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.
>
>

Javier Hdez

unread,
Dec 9, 2011, 5:02:38 AM12/9/11
to desarrolladores-android
o con finish(), pero no era eso, ya ví el error de por qué no me lo
aceptaba, es que estaba con varias cosas entre manos y no me había
fijado bien, ahora al repasarlo acabo de ver que el objeto del
AlertDialog lo tenía como local y no como global, es por eso voy a
cambiarlo y a ponerlo como público y estático para poder utilizarlo
desde otros objetos.

gracias de todas formas y saludos


On 9 dic, 07:58, Mauricio Montilla <mauriciomonti...@gmail.com> wrote:
> Los alertDialog se cancelan con .cancel o se descartan con .dismiss
>

> El viernes 9 de diciembre de 2011, Javier Hdez <droin...@gmail.com>

Javier Hdez

unread,
Dec 9, 2011, 5:37:40 AM12/9/11
to desarrolladores-android
Pues no , no funciona.

Tengo una alerta que declaro así:

private AlertDialog.Builder adbStop;

y luego la muestro cuando se inicia el mediaPlayer, eso muestra un
diálogo con un botón para detener la reproducción, el el botón
Positive, si se hace click detiene el mediaPlayer y cierra el diálogo.

Pero en el onCompletationListener del mediaPlayer quiero cerrar el
diálogo pero por mucho que pongo ahí el objeto adbStop el IDE no me
sugiere un finish(), ni cancel(), ni dismiss(), sino todo lo
contrario, un .show(), .create()... :$

esa era mi pregunta qué método puedo utilizar en el
onCompletationListener para poder cerrar el diálogo que abrí cuando
inicié la reproducción.

Juan de Dios Maldonado Sánchez

unread,
Dec 9, 2011, 6:51:48 AM12/9/11
to desarrollad...@googlegroups.com
El AlertDialog.Builder es un objeto para construir Diálogos.
En vez de usar el método .show de ese objeto, usa el .create() y guarda ese Dialog en alguna variable "ejemplo" y luego para mostrarlo utilizar ejemplo.show(). Aviso: Llamar al .show() directamente no es una forma correcta de mostrar diálogos. Échale un vistazo a la documentación para saber cómo utilizar Activity.showDialod(int x, Bundle b) Después de ver cómo utilizar esta, no la uses que está obsoleta, era sólo como información, utiliza DialogFragment.

2011/12/9 Javier Hdez <droi...@gmail.com>
--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.




--
An'Brain - Prueba el nuevo widget inteligente para tu Android.
Idiotizer Free - Idiotiza a tus amigos. (Se requieren auriculares)
Track My App - Realiza un seguimiento de tus aplicaciones en el Android market.

Javier Hdez

unread,
Dec 9, 2011, 1:13:43 PM12/9/11
to desarrolladores-android
ok ya lo ví gracias, también se puede utilizar adb.create().show();

http://java2s.com/Code/Android/UI/showAlert.htm

Aquí hay un ejemplo del dialogFragment >>
http://java2s.com/Code/Android/UI/FragmentDialogOrActivity.htm y aquí
también hay más ejemplos >> http://developer.android.com/reference/android/app/DialogFragment.html

pero creo que al final lo voy a hacer con una activity que es como
estaba haciéndolo al principio pero me dio por probar con el
alertDialog.Builder.

saludos

On 9 dic, 11:51, Juan de Dios Maldonado Sánchez <jua...@gmail.com>
wrote:


> El AlertDialog.Builder es un objeto para construir Diálogos.
> En vez de usar el método .show de ese objeto, usa el .create() y guarda ese
> Dialog en alguna variable "ejemplo" y luego para mostrarlo utilizar
> ejemplo.show(). Aviso: Llamar al .show() directamente no es una forma
> correcta de mostrar diálogos. Échale un vistazo a la documentación para
> saber cómo utilizar Activity.showDialod(int x, Bundle b) Después de ver
> cómo utilizar esta, no la uses que está obsoleta, era sólo como
> información, utiliza DialogFragment.
>

> 2011/12/9 Javier Hdez <droin...@gmail.com>


>
>
>
>
>
>
>
>
>
> > Pues no , no funciona.
>
> > Tengo una alerta que declaro así:
>
> > private AlertDialog.Builder adbStop;
>
> > y luego la muestro cuando se inicia el mediaPlayer, eso muestra un
> > diálogo con un botón para detener la reproducción, el el botón
> > Positive, si se hace click detiene el mediaPlayer y cierra el diálogo.
>
> > Pero en el onCompletationListener del mediaPlayer quiero cerrar el
> > diálogo pero por mucho que pongo ahí el objeto adbStop el IDE no me
> > sugiere un finish(), ni cancel(), ni dismiss(), sino todo lo
> > contrario, un .show(), .create()...  :$
>
> > esa era mi pregunta qué método puedo utilizar en el
> > onCompletationListener para poder cerrar el diálogo que abrí cuando
> > inicié la reproducción.
>
> > --
> > Has recibido este mensaje porque estás suscrito al grupo
> > "desarrolladores-android" de Grupos de Google.
> > Para publicar una entrada en este grupo, envía un correo electrónico a
> > desarrollad...@googlegroups.com.
> > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > desarrolladores-a...@googlegroups.com
> > Para tener acceso a más opciones, visita el grupo en
> >http://groups.google.com/group/desarrolladores-android?hl=es.
>
> --

> An'Brain<https://market.android.com/details?id=com.nidrico.apps.anbrain.lite> -


> Prueba el nuevo widget inteligente para tu Android.

> Idiotizer Free<https://market.android.com/details?id=com.nidrico.apps.idiotizerfree>-


> Idiotiza a tus amigos. (Se requieren auriculares)

> Track My App<https://market.android.com/details?id=com.nidrico.apps.trackmyapp>-

Reply all
Reply to author
Forward
0 new messages