PDA

Ver la Versión Completa : [ CONSULTA ] Eliminar clase al salir del Activity


marellanor
28/08/14, 23:57:24
Hola!. Tengo un duda(una más jaja). Lo que quiero hacer es que cuando salga del Activity actual (presionando la tecla back del Smartphone) se me elimine una clase llamada 'tiempo', que lo que hace es que cuando el cronometro llega a 0 genera una acción (llamar a otros metodos). Pero lo que pasa que actualmente cuando me salgo de la Activity, el cronometro sigue corriendo por debajo y me manda error cuando llega a 0.

Dejo el código de la clase tiempo.

//Creo la Clase CuentaRegresiva
public class Tiempo extends CountDownTimer {

public Tiempo(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}

@Override
public void onFinish() {

//Llamo al metodo GameOver
GameOver();

//Instancio un objeto del tipo handler para el cambio de activity
Handler handler = new Handler();
handler.postDelayed(IniciarSP2(), SEGUNDOS);
}
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
tiempo.setText("" + millisUntilFinished / 1000);
}

}


Ante cualquier respuesta se agradece.

Saludos.

marellanor
29/08/14, 04:36:09
Me respondo solo. No fue necesario destruir dicha activity, solo pause el cronometro y cada vez que se entra nuevamente a ese activity vuelve a iniciar el contador desde el comienzo.

Le agregue un metodo del 'buttom back' en dónde le digo que cuando este sea presionado pause la cuenta regresiva. ademas tuve que instanciar el obejeto de la clase Tiempo de manera global.

adjunto el codigo.

Tiempo regresivo = new Tiempo(10000, 1000);
regresivo.start();

//Creo la Clase CuentaRegresiva
public class Tiempo extends CountDownTimer {

public Tiempo(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
// TODO Auto-generated constructor stub
}

@Override
public void onFinish() {

//Llamo al metodo GameOver
GameOver();

//Instancio un objeto del tipo handler para el cambio de activity
Handler handler = new Handler();
handler.postDelayed(IniciarSP2(), SEGUNDOS);
}
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
tiempo.setText("" + millisUntilFinished / 1000);
}

}


@Override
public void onBackPressed() {
// Write your code here
super.onBackPressed();
regresivo.cancel();

}