2016-06-09 3 views
0

У меня есть фоновое обслуживание для загрузки изображения с сервера. Я хочу обновить свой пользовательский интерфейс или ListView, когда загрузка закончена. Необходимо изменить этот текст на кнопку, чтобы «загрузить». Пожалуйста, помогите мне Заранее спасибоКак обновить Listview из фоновой службы

+0

Можете ли вы показать, что вы сделали до сих пор. – Yugesh

+0

, пожалуйста, внесите свой код, что вы сделали –

ответ

0

Вы можете через трансляцию из фоновой службы, которая получит ваш основной поток, скажем, активность. Затем из метода onRecieve() вы можете обновить свой ListView, обновив свою модель и вызвав notifyDatasetChanged() вашего адаптера.

Пример Broadcast Ресивер http://www.tutorialspoint.com/android/android_broadcast_receivers.htm

Или вы можете передать обработчик основного потока сервиса usnig намерения и может обновлять основной поток или ваш listview путем размещения сообщения на главном потоке с помощью этого обработчика.

Пример обработчика
https://developer.android.com/training/multiple-threads/communicate-ui.html

+0

можете ли вы иметь какую-либо ссылку или код относительно обновления интерфейса с помощью обработчика –

+0

проверить мой обновленный ответ – Nitesh

+0

Спасибо Nitesh –

-1

Вы не можете обновить вид из фонового потока! Чтобы скачать, вы должны позвонить в: Вы можете прочитать this.

runOnUiThread(new Runnable() { 
    @Override 
    public void run() { 
     // refresh list 
    } 
}); 
Смежные вопросы