-5
目前在我的應用程序中,我有用戶創建多個倒數計時器,只要他們點擊一個按鈕。我希望每個倒數計時器都配對一個取消按鈕,用戶可以取消倒數計時器。目前我有一個函數,它使用cdt.cancel()取消倒數計時器,其中cdt是countdowntimer var。但是,只允許我取消先前創建的cdt。有什麼辦法可以取消倒數計時器嗎?如何在Android中控制多個CoundownTimer
目前在我的應用程序中,我有用戶創建多個倒數計時器,只要他們點擊一個按鈕。我希望每個倒數計時器都配對一個取消按鈕,用戶可以取消倒數計時器。目前我有一個函數,它使用cdt.cancel()取消倒數計時器,其中cdt是countdowntimer var。但是,只允許我取消先前創建的cdt。有什麼辦法可以取消倒數計時器嗎?如何在Android中控制多個CoundownTimer
我會做這樣的事情:
private void startNewTimer(List<CountDownTimer> listOfTimers) {
CountDownTimer countDownTimer = new CountDownTimer(1000,1000) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
}
}.start();
listOfTimers.add(countDownTimer);
}
private boolean cancelTimers(List<CountDownTimer> listOfTimers) {
if(listOfTimers != null && !listOfTimers.isEmpty()) {
for(CountDownTimer cdt : listOfTimers) {
cdt.cancel();
}
listOfTimers = null;
return true;
}
return false;
}
您可能希望創建List<CountDownTimer> listOfTimers
作爲一個全局變量(List<CountDownTimer> listOfTimers = new ArrayList<>()
)
你會從你的按鈕OnClickListener
的onClick
方法調用的startNewTimer(list)
和你認爲合適的stopTimers
。
如果要取消特定的取消,你可以在List
喜歡引用它通過其指標是:
private boolean stopTimer(List<CountDownTimer> listOfTimers, int index) {
if(listOfTimers != null && listOfTimers.size() > index) {
for(int i = 0; i < listOfTimers.size(); i++) {
listOfTimers.get(i).cancel();
}
return true;
}
return false;
}
請添加代碼 – Stefan
店等計時器在其他變量,甚至列表 –