Я хочу создать синхронизированные события, которые вызывают изменения пользовательского интерфейса (например, тост) на Android. Я уже знаю, что вы можете сделать это с помощью Handler
объекта postDelayed(runnable, timeDelay)
метода ( см. На этой странице отличный пример ).
Вот поворот: Мне также нужно иметь возможность сделать паузу и возобновить обратный отсчет для этих событий . Поэтому, когда пользователь приостанавливает экранный таймер, он также приостанавливает обратный отсчет перед каждым из этих событий.
Один подход, который пришел в голову, - это создать объект Handler
на новом Thread
(не в потоке пользовательского интерфейса) и поставить в очередь мои события, используя postDelayed
; тогда я бы приостановил или возобновил выполнение всего этого Thread
, используя этот метод по мере необходимости. Основная проблема здесь состоит в том, чтобы выяснить, как заставить события запускаться в потоке пользовательского интерфейса после их запуска.
Единственный другой способ, который я могу придумать, это проверять каждую секунду, что таймер помечает список всех моих событий (грубая сила) в потоке пользовательского интерфейса, что очень грязно.
Если у кого-то есть мысли по этому поводу или решения, это было бы здорово!