|
||
|
![]() |
![]() |
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
|
||||
|
||||
![]()
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. |
|
#2
|
||||
|
||||
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(); } ![]() |
Gracias de parte de: | ||
![]() |
![]() |
||||||
|