我有两个XML格式的EditTexts。在一个EditText中,用户可以输入分钟表示的数字,而在另一个EditText中,用户可以输入秒表示的数字。单击finish按钮后,秒数EditText应开始倒计时并每秒更新其文本。
此外,我如何保持更新,直到它达到0分零秒?
发布于 2012-04-06 00:30:21
new CountDownTimer(30000, 1000) {
    public void onTick(long millisUntilFinished) {
        mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
       //here you can have your logic to set text to edittext
    }
    public void onFinish() {
        mTextField.setText("done!");
    }
}.start();请参阅此link。
发布于 2017-06-24 14:08:56
将CountDown计时器还原为小时、分钟和秒
public void reverseTimer(int Seconds, final TextView tv) {
    new CountDownTimer(Seconds * 1000 + 1000, 1000) {
        public void onTick(long millisUntilFinished) {
            int seconds = (int) (millisUntilFinished / 1000);
            int hours = seconds / (60 * 60);
            int tempMint = (seconds - (hours * 60 * 60));
            int minutes = tempMint / 60;
            seconds = tempMint - (minutes * 60);
            tv.setText("TIME : " + String.format("%02d", hours)
                    + ":" + String.format("%02d", minutes)
                    + ":" + String.format("%02d", seconds));
        }
        public void onFinish() {
            tv.setText("Completed");
        }
    }.start();
}发布于 2018-04-06 19:17:19
使用Kotlin:
var timer = object: CountDownTimer(30000, 1000) {
        override fun onTick(millisUntilFinished: Long) {
            tvTimer.setText("seconds remaining: " + millisUntilFinished / 1000)
        }
        override fun onFinish() {
            tvTimer.setText("done!")
        }
    }
timer.start()https://stackoverflow.com/questions/10032003
复制相似问题