2011-01-05 8 views
15

Soy nuevo en la programación de androides pero tengo bastante experiencia en la programación de moras.invalidar() dentro de una aplicación de Android de subprocesos

Creé una aplicación que tiene una clase de actividad (main.java) y una clase de vista (game.java).

Dentro de la clase de vista, tengo algunos mapas de bits dibujados en la pantalla. Creé un hilo y estoy moviendo las imágenes en el hilo. Sin embargo, cuando invoco invalidate() dentro del hilo, nunca vuelve a dibujar la pantalla.

¿No puede invalidar() la pantalla de un hilo? Sé que el hilo se está ejecutando y se llama a la invalidación, simplemente nunca hace los cambios en la pantalla.

Respuesta

26

Tienes que usar View.postInvalidate() si lo llamas desde un hilo que no sea UI. Según documentos:

pública postInvalidate vacío() desde: Nivel 1 del API

causar una invalidate suceda en un ciclo posterior a través del bucle de eventos. Use esto para invalidar la Vista desde un hilo que no sea UI.

+0

Wow eso fue demasiado fácil ... He estado buscando los últimos 30 minutos sobre cómo hacerlo y nunca me encontré con el postInvalidate(). – Dave

+1

Sí, algunas funciones tienen la mala costumbre de desaparecer de los documentos cuando las busca;) – maid450

Cuestiones relacionadas