Android обновляет массив данных из фоновой службы - PullRequest
1 голос
/ 24 ноября 2011

У меня служба работает в фоновом режиме с синхронизированным событием. Каждые 5 минут я хочу загружать новый список данных и обновлять адаптер массива (используется для поля «Текстовое представление автозаполнения» в основном действии). Как мне это сделать? Или, если это невозможно сделать с помощью службы?

Я пытался сделать textView общедоступным статическим и установить адаптер напрямую, но программа вылетает, говоря, что строка не может быть сделана из «потока, который не вызвал Looper.prepare»

Спасибо.

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Ошибка, которую вы получаете, заключается в том, что вы пытаетесь обновить пользовательский интерфейс из потока без пользовательского интерфейса.Попробуйте использовать runOnUiThread(), поместите материал для обновления пользовательского интерфейса в runOnUiThread().

ОБНОВЛЕНИЕ

Если вы обновляете в сервисе, вы должны использовать контекствместо Activity_name.

Activity_name.this.runOnUiThread(new Runnable() {

            @Override
            public void run() {
                // here you can add stuff to Update the UI.
            }
        });
0 голосов
/ 24 ноября 2011

Ленивый список - пример приложения. Я думаю, что если вы используете асинхронный класс

http://androidpartaker.wordpress.com/2010/08/01/android-async-task/

Ваша жизнь могла бы быть лучше

...