0
我正在嘗試使用Button設置倒數計時器的某個示例,併爲該按鈕設置OnclickListener。我的默認值是10,它會每秒減少,我怎麼能重置我的價值回到10?在Android中使用OnclickListener時將默認值重置爲默認值
我正在嘗試使用Button設置倒數計時器的某個示例,併爲該按鈕設置OnclickListener。我的默認值是10,它會每秒減少,我怎麼能重置我的價值回到10?在Android中使用OnclickListener時將默認值重置爲默認值
CountDownTimer
無法重新啓動,它只能使用一次。您必須創建自己的倒計時類,以處理重新啓動,或者只需創建一個新的實例CountDownTimer
並取消舊實例。
參見下面,我們有一個CountDownTimer
倒計時10秒鐘以1秒的間隔的示例代碼,Button
即(通過取消當前定時器和啓動一個新的)復位點擊時的定時器,以及一個TextView
那顯示當前計時器剩餘的時間。
public class YourActivity extends Activity {
private CountDownTimer countDownTimer;
private TextView timerDisplayTextView;
private static final long TEN_SECONDS = TimeUnit.SECONDS.toMillis(10);
private static final long COUNTDOWN_INTERVAL = TimeUnit.SECONDS.toMillis(1);
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Button myButton; // initialized here
// timerDisplayTextView initialized here
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
countDownTimer.cancel();
countDownTimer = getNewCountDownTimer(TEN_SECONDS);
countDownTimer.start();
showTimeInTextView(TEN_SECONDS);
}
});
countDownTimer = getNewCountDownTimer(TEN_SECONDS);
countDownTimer.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
countDownTimer.cancel();
}
private void showTimeInTextView(long millisecondsLeft) {
timerDisplayTextView.setText(TimeUnit.MILLISECONDS.toSeconds(millisecondsLeft) + " seconds left");
}
private CountDownTimer getNewCountDownTimer(long length) {
return new CountDownTimer(length, COUNTDOWN_INTERVAL) {
@Override
public void onTick(long millisUntilFinished) {
showTimeInTextView(millisUntilFinished);
}
@Override
public void onFinish() {
}
};
}
}
裏面的OnClickListener立場寫myCurrentValue = 10; –