Tengo una aplicación de prueba que tiene un temporizador para toda la actividad de juego donde deberías responder tantas preguntas como puedas dentro de los minutos asignados ..La actividad continúa después de finalizar();
después de que los minutos asignados hayan pasado, te llevará a la actividad de resultados que muestra tu puntaje Al presionar atrás, creé un cuadro de diálogo de alerta que le pregunta si desea volver al menú principal. Si se hace clic en sí, la página debe volver al menú principal y detener/matar la actividad del juego.
Sin embargo, cuando hago clic en "sí", volveré al menú principal, pero mientras esté en cualquier lugar de la aplicación, los resultados seguirán mostrando la actividad previa de juego que tuve. tal vez no hubiera terminado realmente la gameactivity, .. Aquí está el contador de tiempo y volver prensa fragmento de mi actividad:
new CountDownTimer(seconds, 1000) {
public void onTick(long millisUntilFinished) {
timer.setText("Seconds left: " + millisUntilFinished/1000);
}
public void onFinish() {
Intent intent = new Intent(GameActivityAddition.this, Score.class);
intent.putExtra("totalscore", score);
intent.putExtra("numberquestions", rowId);
intent.putExtra("d", difficulty);
db.close();
startActivity(intent);
}
}.start();
@Override
public void onBackPressed() {
AlertDialog.Builder abuilder = new Builder(GameActivityAddition.this);
abuilder.setMessage("Return to Main Menu?");
abuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent main = new Intent(GameActivityAddition.this, Main.class);
startActivity(main);
finish();
}
});
abuilder.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert = abuilder.create();
alert.show();
}
Puede ser que los datos que ha configurado en la actividad de resultado no se borren cuando finaliza la actividad, lo que hace que vea datos más antiguos cuando vuelve a visitar la actividad. – Hiral
No se detiene la cuenta atrás. – user996428
Supongo, supongo, que el temporizador de cuenta regresiva funciona como un hilo, que sigue ejecutándose incluso cuando llamas a finish(). Intenta agregar una variable booleana en el temporizador para controlar su ejecución. – Huang