倒计时 Android 后不更新分钟和小时
Count Down Timer Not updating minutes and hours in Android
我正在使用未更新倒计时的 countDownTimer。我正在倒数分钟和小时。倒计时仅在我重新启动时更新 activity。它没有更新滴答声。
请帮我。谢谢
这是我的代码:
Date eventStartDate = Utility.stringToDate(event.eventFrom);
Date currentDateTime = new Date();
long ms = eventStartDate.getTime() - currentDateTime.getTime();
long ms1 = eventStartDate.getTime() - currentDateTime.getTime();
if (ms > 0) {
long miliSecondsPerSecond = 1000;
long miliSecondsPerMinute = miliSecondsPerSecond * 60;
long miliSecondsPerHour = miliSecondsPerMinute * 60;
long miliSecondsPerDay = miliSecondsPerHour * 24;
long days = ms / miliSecondsPerDay;
ms = ms - (days * miliSecondsPerDay);
final long hours = ms / miliSecondsPerHour;
ms = ms - (hours * miliSecondsPerHour);
final long minutes = ms / miliSecondsPerMinute;
ms = ms - (minutes * miliSecondsPerMinute);
new CountDownTimer(ms1, miliSecondsPerMinute) { // adjust the milli seconds here
public void onTick(long millisUntilFinished) {
eventTimer.setText(hours + ":" + minutes);
}
public void onFinish() {
eventTimer.setText("00:00");
}
}.start();
在OnTick中写入如下代码
Date eventStartDate = Utility.stringToDate(event.eventFrom);
Date currentDateTime = new Date();
long ms = eventStartDate.getTime() - currentDateTime.getTime();
long ms1 = eventStartDate.getTime() - currentDateTime.getTime();
if (ms > 0)
{
long miliSecondsPerSecond = 1000;
long miliSecondsPerMinute = miliSecondsPerSecond * 60;
long miliSecondsPerHour = miliSecondsPerMinute * 60;
long miliSecondsPerDay = miliSecondsPerHour * 24;
long days = ms / miliSecondsPerDay;
ms = ms - (days * miliSecondsPerDay);
final long hours = ms / miliSecondsPerHour;
ms = ms - (hours * miliSecondsPerHour);
final long minutes = ms / miliSecondsPerMinute;
ms = ms - (minutes * miliSecondsPerMinute);
}
我正在使用未更新倒计时的 countDownTimer。我正在倒数分钟和小时。倒计时仅在我重新启动时更新 activity。它没有更新滴答声。 请帮我。谢谢 这是我的代码:
Date eventStartDate = Utility.stringToDate(event.eventFrom);
Date currentDateTime = new Date();
long ms = eventStartDate.getTime() - currentDateTime.getTime();
long ms1 = eventStartDate.getTime() - currentDateTime.getTime();
if (ms > 0) {
long miliSecondsPerSecond = 1000;
long miliSecondsPerMinute = miliSecondsPerSecond * 60;
long miliSecondsPerHour = miliSecondsPerMinute * 60;
long miliSecondsPerDay = miliSecondsPerHour * 24;
long days = ms / miliSecondsPerDay;
ms = ms - (days * miliSecondsPerDay);
final long hours = ms / miliSecondsPerHour;
ms = ms - (hours * miliSecondsPerHour);
final long minutes = ms / miliSecondsPerMinute;
ms = ms - (minutes * miliSecondsPerMinute);
new CountDownTimer(ms1, miliSecondsPerMinute) { // adjust the milli seconds here
public void onTick(long millisUntilFinished) {
eventTimer.setText(hours + ":" + minutes);
}
public void onFinish() {
eventTimer.setText("00:00");
}
}.start();
在OnTick中写入如下代码
Date eventStartDate = Utility.stringToDate(event.eventFrom);
Date currentDateTime = new Date();
long ms = eventStartDate.getTime() - currentDateTime.getTime();
long ms1 = eventStartDate.getTime() - currentDateTime.getTime();
if (ms > 0)
{
long miliSecondsPerSecond = 1000;
long miliSecondsPerMinute = miliSecondsPerSecond * 60;
long miliSecondsPerHour = miliSecondsPerMinute * 60;
long miliSecondsPerDay = miliSecondsPerHour * 24;
long days = ms / miliSecondsPerDay;
ms = ms - (days * miliSecondsPerDay);
final long hours = ms / miliSecondsPerHour;
ms = ms - (hours * miliSecondsPerHour);
final long minutes = ms / miliSecondsPerMinute;
ms = ms - (minutes * miliSecondsPerMinute);
}