Ho un'applicazione per il quiz che ha un timer per tutta la gameactivity in cui dovresti rispondere a quante più domande puoi entro i minuti assegnati ..L'attività continua ancora dopo la fine();
dopo che i minuti assegnati sono terminati, ti porterà all'attività dei risultati che mostra il tuo punteggio. Premendo indietro, ho creato una finestra di avviso che chiede se vuoi tornare al menu principale. Se si fa clic su Sì, la pagina dovrebbe tornare al menu principale e interrompere/uccidere la gameactivity.
Tuttavia, quando faccio clic su "sì", si tornerà al menu principale ma mentre si è ancora in qualsiasi punto dell'applicazione, i risultati continuerebbero a mostrare la precedente gameactivity che avevo. forse ho bevuto davvero finito il gameactivity, .. Qui è il timer e ritorno stampa frammento mia attività:
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();
}
Potrebbe essere che i dati impostati nell'attività dei risultati non vengano cancellati quando si termina l'attività, causando la visualizzazione di dati meno recenti quando si visita nuovamente un'attività. – Hiral
Non si sta arrestando il conto alla rovescia. – user996428
Immagino, suppongo, che il conto alla rovescia funzioni come un thread, che continua a funzionare anche quando si chiama finish(). Prova ad aggiungere una variabile booleana nel timer per controllarne il funzionamento. – Huang