有沒有辦法連續循環通過倒數計時器?我有一個60秒的基本定時器,然後更新一個文本字段,它的工作,但我想添加的功能:當它倒計時,自動重新啓動,直到用戶取消它?也許通過線程運行它?不知道如何處理它。這裏是我有什麼,並再次,此代碼的工作,但我只能停止和啓動倒計時,而不是做一個連續的循環:循環播放CountDownTimer是調用start()
在我想做一個倒計時計時器做一個連續的循環在Android - 需要意見如何做到這一點
cdt = new CountDownTimer(60000,1000) {
public void onTick(long millisUntilFinished) {
tvTimer.setText("remaining : " + millisUntilFinished/1000 + " secs");
}
public void onFinish() {
tvTimer.setText("");
bell.start();
}
};
/***************On Click/Touch Listeners*******************/
btnNext.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
tvTimer.setText("");
btnStart.setText("Start Timer");
SetImageView2(myDbHelper);
cdt.cancel();
}
});
btnStart.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (!TimerTicking){
cdt.start();
btnStart.setText("Stop Timer");
}
else {
tvTimer.setText("");
cdt.cancel();
btnStart.setText("Start Timer");
}
}
});
因此,一個取消()的調用將終止整個倒計時? –
是的,我做了一個快速測試,看到簡單地調用'start()'啓動多個定時器......所以使用'cancel()'來防止這種情況。 – Sam
我不想產卵多個計時器,所以不知道這將是最好的解決方案。我是Android新手,看起來好像做一個線程化的解決方案可能是最好的,但CountDownTimer非常方便。 –