我想创建一个CountDownTimer,如果我点击一个按钮,计时器停止,然后重新启动它。当我想重新启动计时器时,我想在计时器实际时间添加一个数字。 例如: 我从60000开始倒数计时器,我将计时器停在40000,我的常数是50000,所以在我停止计时器并从40000 + 50000 = 90000开始计时。 我尝试了这个,但如果我想将常量数加到我的计时器实际值,计时器值不大于60000。
抱歉我的英文不好,我不知道怎么写我的问题。
从60000开始计时器 - >停止计时器在40000 - >从实际值(40000)+常数
启动计时器我希望有人明白我的问题是什么。 :)
这是我的代码:
cdt = new CountDownTimer(time,1){
@Override
public void onFinish() {
// TODO Auto-generated method stub
AlertDialog.Builder alert = new AlertDialog.Builder(Game.this);
if (needpoint < 1){
alert.setMessage("You have "+lefttime/1000+" seconds.");
alert.setTitle("Win!");
alert.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
level++;
time=deftime+lefttime;
needpoint = (level*10)+10;
tvGoal.setText("You need only "+needpoint+" points");
GeneratePlace(width, height);
}
});
alert.setNegativeButton(R.string.menu, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
}
});
AlertDialog dialog = alert.create();
dialog.show();
}
}
因此,deftime值为20000,时间值为30000。 如果我点击一个按钮,我会调用cdt.onFinish(),并且在alertdialog中我想从新的时间重启countdowntimer。