我有两个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
复制相似问题