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

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); } 

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.

  1. 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.

  2. 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

  • Intención de la cámara
  • Java La importación com.google no se puede resolver
  • Cómo detener HttpURLConnection.getInputStream ()?
  • Plaza en blanco en Google Maps
  • Android Studio: opción de VM no reconocida 'MaxPermSize = 256m'
  • ¿Cómo extraer archivos sin extensión del directorio de almacenamiento externo?
  • ¿Por qué esta variable se establece en cadena vacía cuando ya se inicializa a una cadena vacía?
  • ¿Cómo establecer el tema en ProgressDialog?
  • ¿Cómo puedo eliminar un elemento específico de un JSONArray?
  • Android Studio - Keystore fue manipulado o la contraseña fue incorrecta
  • Problema del tutorial de Android First App
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.