Android: el botón rápido presiona resultados en múltiples instancias de intención
Actualmente estoy experimentando un error en el que si el usuario pulsa un botón rápidamente, la intención de que el botón esté conectado se disparará varias veces, lo que resultará en una pila de esa intención que tendrá que volver a trazar a través de nuevo. ¿Cómo puedo evitar esto o remediar esto?
Gracias ~ k
- Android Studio: Buildtools 24.0.1 requiere Java 1.8 o superior.
- Android: Will finish () SIEMPRE llama a onDestroy ()?
- El archivo existe y el directorio IS, pero listFiles () devuelve null
- Cómo mostrar la notificación únicamente en el dispositivo Android Wear
- Envío de contenido utf8 con el método post a servidor en android utilizando HttpClient
Esto es dentro del onClickListener. Puse el valor boolean aquí, después lo desarmé al final del proceso.
if(!isDating) { intent.setClass(context, EventDate.class); isDating = true; ((TabGroupActivity) context).startChildActivity("EventDate",intent); }
- ¿Tenemos alguna herramienta para convertir el diseño xml de Android a archivos .java?
- Destruye la sesión de Nuance
- ¿Cómo obtener una vista desde dentro de Espresso para pasar a un IdlingResource?
- Cómo llamar a Mono para la clase de Android desde la aplicación de Android?
- Cómo alinear la parte inferior de los padres en el diseño lineal de Android?
- Android: ¿Cómo escribir una nueva línea en un archivo CSV?
- Mostrar decimal de un doble solo cuando sea necesario
- Cómo utilizar getChats en tdlib
Intente establecer las banderas para la intención como
intent.setFlags(FLAG_ACTIVITY_BROUGHT_TO_FRONT);
También puede establecer este indicador a través del archivo AndroidManifest.xml en la sección Aplicación. Prefiere este método por encima de uno.
Actualización de launchMode mediante el archivo Manifest
Espero que esto resuelva su problema.
Si tuviera una moneda de diez centavos por este error mi QA archivado sería bastante rico si no millonario: P Sólo hay mucho que uno puede hacer. Basado en su implementación, podría probar algunas cosas.
-
Como ya se mencionó, utilice un booleano. Configure esta opción como verdadera una vez que haga clic en ella y compruebe este booleano si vuelve a hacer clic en el botón. Póngalo en false una vez que haya terminado.
-
Utilice un diálogo de progreso en caso de que su una actividad larga como recibir datos en su próxima actividad antes de que se muestre. Esto también da una pista al usuario, que algo está sucediendo y él no necesita preocuparse.
utilizar
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Arregla el problema
¡En realidad encontré una solución mejor!
Estableciendo onClickListener (null); Luego recreándolo enResume, evita tener que usar banderas y qué no.
K
- ¿Cómo detectar móviles (iOS y Android) utilizando JSP / Java?
- Android – ¿Cómo hacer clic en un elemento de un cajón de navegación con Espresso?