2013-03-20 2 views
0

У меня есть простое приложение для Android с одним Управлением, которое содержит TextView. Я создал BroadcastReceiver, целью которого является выполнить некоторые численные вычисления, преобразовать результат в строку и затем изменить текстовое значение TextView на эту строку. Однако, поскольку BroadcastReceiver обычно вызывается, когда активность приложения не существует, я не могу найти способ доступа к TextView Activity (я всегда получаю исключение NullPointerException).Изменение текстового представления Activity в BroadcastReceiver (Android)

Я читал другие статьи здесь, в StackOverflow, которые предлагают реализовать Listener для моего BroadcastReceiver с помощью метода обратного вызова, но я честно не знаю, как это реализовать. Я немного знаком с концепцией метода обратного вызова, я просто не уверен, как реализовать его в этом контексте. Кто-нибудь может предложить, как я могу это сделать? Спасибо!

ответ

1

EDIT

Использование AsyncTask будет делать для выполнения операций в фоновом режиме. Example oneExample two

Обратите внимание, что вы должны передать ваши TextView в AsyncTask внутри своего конструктора

+0

Я думал сделать это, но проблема в том, что как только BroadcastReceiver пожаров, он будет прерывать любой пользователь делает чтобы вывести деятельность на первый план. Я хотел бы, чтобы изменение текста происходило в фоновом режиме, если это возможно. – Argus9

+0

Вы могли бы разработать? Ваша активность начинается после выполнения расчета? Итак, почему вы не можете привести результат в намерение? – Droidman

+0

Позвольте мне уточнить немного - строка TextView представляет собой Double, скажем, 4.25. Когда действие сначала выполняется, манифест регистрирует BroadcastReceiver, чтобы стрелять каждый день в 12 часов. Когда BroadcastReceiver срабатывает, мне бы хотелось, чтобы он просто делал вычисления и менял TextView. Если бы я сделал то, что вы предложили, когда огонь BroadcastReceiver, он выведет главную деятельность на первый план. Я хочу, чтобы вычисления и модификации TextView происходили в фоновом режиме, поэтому пользователю даже не нужно знать, что это происходит. – Argus9

Смежные вопросы