Cómo capturar el evento táctil de un cuadro de diálogo cuando se hace clic fuera

He Dialog en mi actividad, lo que quiero es suponer que el cuadro de diálogo está abierto, luego en Tocar fuera del cuadro de diálogo quiero descartar el cuadro de diálogo y, al mismo tiempo, quiero llamar a una función que actualiza mi actividad.

Inicialmente usé MyDialog.setCanceledOnTouchOutside(true); Pero estos solo descartarán y, en mi caso, al mismo tiempo quiero llamar a algunas funciones cada vez que el usuario haga clic fuera de un cuadro de diálogo. ¿Entonces qué debo hacer? Sé que si puedo extender el Dialog clase y anular su onTouchEvent entonces se resolverá, pero en mi caso, mi clase ya extiende la clase de Actividad y en Java, no podemos extender más de una clase.

Entonces, ¿cuál será la mejor solución para eso? Por favor, ayúdame a resolver esto.

preguntado el 22 de mayo de 12 a las 07:05

Este vínculo parece similar a lo que desea lograr. [enlace][1] [1]: stackoverflow.com/questions/5185517/… -

@geekoraul No creo que hayas leído mi pregunta.... -

@AndroidCoder: MyDialog.setCanceledOnTouchOutside (falso) me ayuda a restringir la cancelación del diálogo, pero en este caso, el botón de diálogo del formulario de enfoque también se perdió ... alguna idea de cómo puede mantener el enfoque en el botón de diálogo antes de hacer clic afuera. -

1 Respuestas

La segunda respuesta en este hilo muestra cómo hacer esto (lo usé yo mismo, funciona):

¿Cómo cancelar una actividad temática de Diálogo cuando se toca fuera de la ventana?

contestado el 23 de mayo de 17 a las 13:05

Este código se usa para finalizar una actividad ... pero en mi caso, quiero descartar un diálogo: desarrollador de Android

Ya veo, lo siento. ¿Puedes usar la misma lógica? Si configura MyDialog.setCanceledOnTouchOutside (falso); luego atrapar el toque afuera y descartar el diálogo programáticamente? - tony

me puede mostrar con un código de ejemplo ............ si es posible .. qué función debería captar el toque exterior ...... - desarrollador de Android

No por eso, pero mirarlo es un OnCancelListener para el diálogo. Un código de ejemplo aquí: stackoverflow.com/questions/2195497/… Podría ayudar - tony

No es de lo que se trata la pregunta, pero en el bloque de código de la pregunta dentro de OnPrepareDialog, hay un onCancelListener ... dentro, creo que agregaría el código que desea ejecutar una vez que se cancela el diálogo: tony

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.