我有一个测验应用程序,其中有一个定时器整个游戏活动在哪里你应该回答尽可能多的问题,你可以在指定的分钟内..完成后仍然继续活动();
分配后的分钟结束后,它会带你到结果活动它显示你的分数。在回按时,我创建了一个警告对话框,询问您是否要返回主菜单。如果点击是,页面应该回到主菜单并停止/杀死游戏活动。
然而,当我点击“是”,就返回到主菜单,但同时你还是任何地方应用,结果仍然会从以前的gameactivity我有显示。也许我说好的真的完成了gameactivity ..这里是我的活动计时器和背压片段:
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();
}
可能是你已经在你的结果活动设置的数据不被清除,当你玩完活动,令你看到旧的数据,当您再次访问活动。 – Hiral
你不停止倒计时。 – user996428
我猜,只是猜测,倒数计时器就像一个线程,当你调用完成其仍将被运行()。尝试在计时器中添加一个布尔变量来控制其运行。 – Huang