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; –