PDA

Ver la Versión Completa : Concepto "setImageDrawable" de un ImageView


gasniper
28/08/13, 23:50:55
Solucionado.

kriogeN
29/08/13, 00:07:12
A ver si lo entiendo, originalmente tienes puesta R.drawable.mreverso, al principio del código cambias la imagen por otra, y al final del código la cambias otra vez por la que tenía al principio, ¿es eso?

Pues si es eso es completamente normal que no aprecies el cambio, ya que ese código se ejecuta en el hilo principal, y por tanto la pantalla no se refresca hasta que se vuelve a ejecutar el onDraw, que se ejecuta también en el hilo principal, así que cuando va a dibujar dibuja la última imagen que le has asignado y en ningún momento dibuja la otra.

gasniper
29/08/13, 00:38:23
Solucionado.

kriogeN
29/08/13, 09:26:55
Si pones un Thread.sleep(2000) lo que haces es bloquear el hilo principal durante 2 segundos, porque volvemos a lo mismo, siempre estarías actuando sobre el hilo principal.

Es decir, lo que estaría ocurriendo es:

- Cambias imagen
- Paras 2 segundos
- Vuelves a cambiar imagen
- Pintas

Tras hacer esto sólo verías pintada la segunda imagen, y nunca la primera.

Una posibles solución es pintar la primera imagen y después lanzar un Handler con postDelayed de 2 segundos, y que en el Runnable vuelva a cambiar la imagen. Eso si debería funcionarte, pero ya aquí entonces tienes que tener en cuenta la concurrencia y exclusión mutua sobre el objeto, aunque para este caso no creo que influya mucho.

gasniper
29/08/13, 12:18:47
Solucionado.