【发布时间】:2015-04-10 09:48:53
【问题描述】:
我需要在未来的某个时间(即 5 分钟内)发送一条短信,并以 00:00 的格式在 UI 中显示剩余时间。
我的第一选择是使用 android-alarm,但我不知道如何在布局中显示倒计时。
接下来,我尝试使用计时器,并使用对象的视图,但时间总是到了,所以我需要做很多数学运算来刷新视图。
最后我使用了 CountDownTimer,并在 TextView 中显示经过的时间。
这是最好的选择吗?
这里是一个简短的代码:
public void startCountDown(View v) {
if (!activedCountDown) {
activedCountDown = true;
final TextView mTextField = (TextView) findViewById(R.id.mTextField);
EditText text = (EditText) findViewById(R.id.etMinutos);
String mins = text.getEditableText().toString();
futureTime = Integer.parseInt(mins) * 60000;
isTheFinalCountDown = new CountDownTimer(futureTime, interval) {
@Override
public void onTick(long millisUntilFinished) {
if (millisUntilFinished < 60000) {
mTextField.setText("00:" + millisUntilFinished / 1000);
} else {
//TODO parse the textfield to show minutes and seconds
}
}
@Override
public void onFinish() {
//TODO: launch SMS
mTextField.setText("Send SMS now");
activedCountDown = false;
}
}.start();
}
}
【问题讨论】:
标签: android android-alarms countdowntimer chronometer