0
Buttonを使用してカウントダウンタイマーに関するいくつかの例を行い、そのボタンに対してOnclickListenerを設定しようとしています。私のデフォルト値は10で、毎秒減少します。私の値を10に戻すにはどうすればいいですか?AndroidでOnclickListenerを使用したときのデフォルト値へのリセット
Buttonを使用してカウントダウンタイマーに関するいくつかの例を行い、そのボタンに対してOnclickListenerを設定しようとしています。私のデフォルト値は10で、毎秒減少します。私の値を10に戻すにはどうすればいいですか?AndroidでOnclickListenerを使用したときのデフォルト値へのリセット
CountDownTimer
は再起動できません。一度しか使用できません。再起動を処理できる独自のカウントダウンクラスを作成するか、CountDownTimer
の新しいインスタンスを作成して古いインスタンスを取り消すだけです。
、我々は1秒間隔で10秒間カウントダウンCountDownTimer
を持っている場所の下のコード例を参照してください(現在のタイマーをキャンセルし、新しいものを開始することで)クリックしたときにタイマーをリセットし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; –