Cómo capturar el evento táctil de un cuadro de diálogo cuando se hace clic fuera
Frecuentes
Visto 8,674 veces
7
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.
1 Respuestas
2
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 android or haz tu propia pregunta.
Este vínculo parece similar a lo que desea lograr. [enlace][1] [1]: stackoverflow.com/questions/5185517/… - geekoraul
@geekoraul No creo que hayas leído mi pregunta.... - AndroidDev
@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. - CoDe