|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Montrar contador mientras se esta incrementando
Hola.
Quería hacer un simple contador que vaya del 0 al 100000. El código es este: for (int indice=0; indice<100001; indice++) { cont.setText( String.valueOf(indice)); } la variable "cont" hace referencia a un TextView Pues bien, el problema es que me aparece de golpe el número 100000, sin pasar por los anteriores, yo lo quiero es ver los números corriendo. Supongo que dentro del bucle habrá que hacer algún tipo de refresco, ya lo he intentado con "cont.onPreDraw()" y con "cont.refreshDrawableState();" pero nada... |
|
|
|
#2
|
||||
|
||||
|
Creo que el problema es que el conteo es tan rapido que no se ve. Pon un sleep dentro del for de medio segundo por ejemplo.
__________________
|
|
#3
|
||||
|
||||
|
Pregunta muy parecida a otra que hicieron ayer, pero sobre imágenes en lugar de sobre texto.
Si ese bucle lo ejecutas en el hilo principal NUNCA se ejecutará el onDraw hasta que la función donde está el for termine. Por lo tanto cuando va a pintar te pinta directamente el 10.000, porque es la única vez que se va a ejecutar. ¿Formas de solucionarlo? Obviamente todas usando un hilo paralelo para contar que actualice el texto en el hilo principal. La mejor de todas usando un AsyncTask con publishProgress. |
|
#4
|
||||
|
||||
|
Pregunta muy parecida a otra que hicieron ayer, pero sobre imágenes en lugar de sobre texto.
Si ese bucle lo ejecutas en el hilo principal NUNCA se ejecutará el onDraw hasta que la función donde está el for termine. Por lo tanto cuando va a pintar te pinta directamente el 10.000, porque es la única vez que se va a ejecutar. ¿Formas de solucionarlo? Obviamente todas usando un hilo paralelo para contar que actualice el texto en el hilo principal. La mejor de todas usando un AsyncTask con publishProgress. ![]()
__________________
|
|
#6
|
||||
|
||||
|
Usa un handler para eso asi te ira mostrando uno a uno los numero
![]() De la otra forma, añadiendo Thread.sleep , se consigue que se pare el hilo principal y hasta que no acabe la app quedara bloqueada
__________________
Controlador de Medicamentos 1.5 (https://play.google.com/store/apps/d...mentcontrolled)
Legislación Basica Española 1.1 (https://play.google.com/store/apps/d...islacionbasica) |
![]() |
Estás aquí
|
||||||
|
||||||