Код:
открытый класс SMH расширяет Activity { public void onCreate (Bundle b) { super.onCreate (б); setContentView (R.layout.main); Текстовый просмотр tv = (TextView) findViewById (R.id.tv); new CountDownTimer (10000, 2000) { public void onTick (long m) { длинная сек = м / 1000 + 1; tv.append (sec + "осталось секунд \ n"); } public void onFinish () { tv.append («Готово!»); } }.Начните(); }
Вывод:
Осталось 10 секунд
Осталось 8 секунд
Осталось 6 секунд
Осталось 4 секунды
Выполнено!
Проблема:
Как сделать так, чтобы он отображал « Осталось 2 секунды »? Истекшее время действительно составляет 10 секунд, но последний onTick () никогда не происходит. Если я изменю второй параметр с 2000 на 1000, то это будет вывод:
Осталось 10 секунд
Осталось 9 секунд
Осталось 8 секунд
Осталось 7 секунд
Осталось 6 секунд
Осталось 5 секунд
Осталось 4 секунды
Осталось 3 секунды
Осталось 2 секунды
Выполнено!
Как видите, последний вызов onTick () пропускается. И, кстати, XML-файл - это в основном main.xml по умолчанию с TextView, которому назначен идентификатор tv , а текст установлен на "".