Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/11/2014, 06:18
ivansat
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Repintar la pantalla en un bucle

Hola Metallick, mil gracias por responder.

He probado lo que me dices, pero me sigue pasando lo mismo, no se ve ningun pause en la app. De hecho recorre todo el bucle sin ningun pause entre cada iteracion.
Te adjunto el codigo, a lo mejor estoy usando mal el runnable:

private Handler miHandler;
private Runnable miRunnable;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.maingame);

RelativeLayout layout1 = (RelativeLayout) findViewById(R.id.layout1);
fondo = new Lienzo(this);
fondo.setOnTouchListener(this);
layout1.addView(fondo);


//Creamos la secuencia de casillas para memorizar
nivel = 3;
int num_filas = 3;
int num_columnas = 3;
secuencia = crearSecuencia(nivel,num_filas,num_columnas);

this.miHandler = new Handler();
this.miRunnable = new Runnable() {

@Override
public void run() {
//tu accion
for (int i=0; i<nivel; i++){
int casilla_num = (3*secuencia[i][0]) + 1 + secuencia[i][1];

casilla_tocada[0] = secuencia[i][0];
casilla_tocada[1] = secuencia[i][1];
fondo.invalidate();
miHandler.postDelayed(this,3000);
}


}
};
this.miRunnable.run();


}

No estoy seguro, pero creo que el problema radica en la accion invalidate, de manera que se me ejecutan todos los invalidates del bucle sin que se observe ningun pause entre ellos.

Por favor, espero que me puedas ayudar.

Un saludo y gracias,
Iván.