Я хочу сделать таймер обратного отсчета, и я хочу обновлять время каждую секунду. Я создал таймер обновления, но он все еще не работает.
Может ли кто-нибудь сказать мне, что я не так?
Это мой код:
public void updateTimer(int secondsLeft) {
int minutes = secondsLeft / 60;
int seconds = secondsLeft * 60;
String secondString = Integer.toString(seconds);
if (seconds <= 9) {
secondString = "0" + secondString;
}
time.setText(Integer.toString(minutes) + ":" + secondString);
}
Почему вы умножаете количество секунд на 60?
Пожалуйста, предоставьте сообщение об ошибке из logcat
Вам нужно использовать оператор по модулю%, чтобы правильно рассчитать количество секунд. Вот ваша функция исправлена:
public void updateTimer(int secondsLeft) {
int minutes = secondsLeft / 60;
int seconds = secondsLeft % 60;
String secondString = Integer.toString(seconds);
if (seconds <= 9) {
secondString = "0" + secondString;
}
time.setText(Integer.toString(minutes) + ":" + secondString);
}
Спасибо за ответ сейчас попробую
Что вы имеете в виду под не работать? Он падает? (тогда какую ошибку/исключение вы получаете?) Он не делает то, что вы хотите? (Потом опишите, что произошло, чего вы ожидали).