Мне нужен совет. Im создание приложения, которое имеет последовательность из 4 действий, которые будут возникать, когда пользователь нажимает кнопку. Как только пользователь нажимает GO, эта кнопка должна быть неактивна, а некоторые визуальные сигналы в интерфейсе должны показать, какое из 4 действий происходит. (Например, изменение видимости ImageView). Графический интерфейс должен немедленно измениться, чтобы синхронизироваться со звуками, которые воспроизводятся.
После каждого из 4 действий GUI должен измениться, чтобы отразить, какое из действий в данный момент происходит.
Текущие попытки - я не могу изменить графический интерфейс перед тем, как начнется первое действие (звук воспроизводится), и в соответствующее время между действиями. Действия состоят в том, чтобы воспроизвести 4 разных звука. В настоящее время я использую MediaPlayer.
Мне не повезло, пытаясь заставить графический интерфейс обновляться, когда захочу. Я использовал AsyncTask и пробовал все комбинации setEnabled(), invalidate(), forceLayout(), refreshDrawableState(), чтобы попытаться заставить вещи произойти в gui, когда я хочу, чтобы они соответствовали 4 звукам, воспроизводимым последовательно.
Моя проблема заключается в том, что я пытаюсь сделать 4 вещи в одном обработчике onClick. Я действительно боролся с validate(), вызывающим reDraw на "когда-нибудь в будущем".
Я не знаю, какой шаблон дизайна лучше всего подходит для визуального восприятия четырех вещей, которые происходят последовательно.
Я просто начинаю смотреть на обработчиков. Это путь? Я думал, что это будет легко. Любой совет?
Если я правильно onPreExecute
методы onPreExecute
и onPostExecute
для AsyncTask выполняются в потоке графического интерфейса. Не работает ли обновление этих графических интерфейсов?