Есть ли способ заставить onFinish из CountDownTimer?

Есть ли метод или атрибут, который позволяет CountDownTimer стать 0 и принудительно использовать метод onFinish()?

Представьте себе: в игре «Проходи и играй» есть таймер и кнопка «Пройти». Как только игрок сделает то, что ему нужно, он может коснуться кнопки «Пропустить» и передать его следующему игроку. Если он/она застревает и таймер истекает, он/она должен пройти игру, фактически пропуская свой ход.

В принципе, мне нужно реализовать последнее. Спасибо.

РЕДАКТИРОВАТЬ: у меня есть TextView, который создается во время onFinish(), textview связан с правильным идентификатором и устанавливает его текст, чтобы сказать «Hello World». Когда таймер истекает, отображается текст. Когда у меня есть метод, содержащий CountDownTimer.cancel(), текст не отображается, но таймер перестает идти вниз.


person David Dũng Trần    schedule 05.05.2013    source источник
comment
Вы хотите остановить таймер обратного отсчета, когда игрок нажимает кнопку Pass?   -  person Hoan Nguyen    schedule 05.05.2013
comment
Да, потому что вы, по сути, заканчиваете свой ход. Это либо перезапускает таймер, либо завершает его и запускает новый. Я буду пробовать метод cancel(), как упоминал Алекс.   -  person David Dũng Trần    schedule 06.05.2013
comment
Решено. Спасибо, Алекс. Я бы проголосовал, но мне не хватает представителей.   -  person David Dũng Trần    schedule 06.05.2013


Ответы (1)


Вы можете позвонить CountDownTimer.cancel() и сразу после этого позвонить, что вы делаете в onFinish()

person Alexander Kulyakhtin    schedule 05.05.2013
comment
Попробую это, как только смогу. Я не знал, что метод cancel() вызывает onFinish() - person David Dũng Trần; 06.05.2013
comment
Похоже, это не работает. У меня есть TextView, который создается во время onFinish(), связан с правильным идентификатором и устанавливает его текст, чтобы сказать Hello World. Когда таймер истекает, отображается текст. Когда у меня есть метод, содержащий CountDownTimer.cancel(), текст не отображается, но таймер перестает идти вниз. - person David Dũng Trần; 06.05.2013
comment
Ничего себе, я идиот. Когда вы сказали, что вызовите что угодно в onFinish(), я подумал, что неявно подразумевается, что onFinish() будет вызываться, если вызывается cancel(). Мне пришлось явно вызывать CountDownTimer.onFinish() после вызова CountDownTimer.cancel(). - person David Dũng Trần; 06.05.2013