#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)?