таймер обратного отсчета для Android

#android

#Android

Вопрос:

Ниже приведена проблема, с которой я сталкиваюсь в данный момент.

у меня есть действие, допустим, A. При нажатии кнопки (допустим, B1) в действии A я запустил CountDownTimer, и когда пользователь нажимает кнопку (допустим, B2), я запускаю новое действие, скажем B. Моя проблема в том, что после вызова таймера onFinish мне нужно завершить действие B.

я обыскал множество форумов и Интернета, но не смог найти решение.

Пожалуйста, помогите решить эту проблему.

С уважением

Комментарии:

1. кажется, вы не можете достаточно четко сформулировать свой вопрос! постарайся быть более понятным! ха

2. Пожалуйста, опубликуйте код относительно того, что вы делаете

Ответ №1:

Есть несколько вариантов:

  • http://developer.android.com/reference/android/app/Activity.html#onNewIntent(android.content .Намерение): onNewIntent() требует, чтобы действие B было одноточечным. Если это так, вы можете просто запустить Intent со специальным флагом, который получит Activity B, а затем уничтожить себя.
  • Вы можете зарегистрировать широковещательный приемник в действии B, а затем отправить широковещательную передачу в действии A (см. http://developer.android.com/reference/android/content/BroadcastReceiver.html )
  • Вы можете установить ограничение таймера на действие B, запустить таймер в действии B и вообще не беспокоиться об этом.
  • Мой личный фаворит:http://developer.android.com/reference/android/os/Handler.html. Попросите действие B создать общедоступный экземпляр статического обработчика, а затем попросите действие A отправить ему сообщение по истечении таймера. В меру грязный, но очень быстрый.

Комментарии:

1. Большое спасибо Femi за всю эту информацию. я выбираю четвертый вариант 🙂

2. Привет, Феми, я могу отправить сообщение из onFinish () в activity B handleMessage (сообщение msg). Но теперь, как завершить действие B из handleMessage (сообщение msg)

3. Вы должны просто иметь возможность вызывать метод finish (). Смотрите developer.android.com/reference/android/app /… для получения более подробной информации.

4. Привет, Феми, я могу завершить действие B, используя статическую ссылку на действие B и вызывая метод finish () внутри handleMessage (сообщение msg). Это правильный способ завершить действие B из handleMessage (сообщение msg)?