在您提供的链接中,如果您尝试一点点努力,您会找到答案。
对于重复任务:
new Timer().scheduleAtFixedRate(task, after, interval);
有关任务的单次运行:
new Timer().schedule(task, after);
所以,你需要做的是保持临时变量保持跟踪可以使用第二种方法,如
对于重复任务:
new Timer()。scheduleAtFixedRate(task,after,interval);
有关任务的单次运行:
new Timer().schedule(task, after * numberOfTimeBtnClked);
你必须通过TimerTask
方法,而不是任务,该方法。
**对于更新下面的代码你的TextView使用,而忘记了什么我已经上面写的**
public void startTimer() {
//set a new Timer
timer = new Timer();
//initialize the TimerTask's job
initializeTimerTask();
//run in an interval of 1000ms
timer.schedule(timerTask, 0, 1000); //
}
public void initializeTimerTask() {
timerTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
timerSince++; //global integer variable with default value 0
if(timerSince == 5 * numberOfBtnClick){
//call your method
timer.cancel;
timerSince = 0;
}else{
//textView.setText(((5 * numberOfBtnClick)-timerSince)+" second left");
}
});
}
};
}
}
在事件开始按钮,点击呼叫:
startTimer();
我会尝试,但能你告诉我,它会在Ui线程上运行吗? –
不,它会运行在不同的线程上。 TimerTask将在不同的线程上运行。如果你不想在主线程上运行,那么使用'runOnUiThread'。 – Kunu
你是对的。现在我想按时间在屏幕上显示时间,我的意思是A倒计数,以显示剩下多少秒。所以我该如何做到这一点? –