Android: Обновите Listview после данных загрузок Потока из сети

new Uri(Request.Url, Url.Content("~/images/image1.gif"))
15
задан ROMANIA_engineer 28 June 2017 в 06:32
поделиться

3 ответа

У меня такая же проблема ... и я очень обрадовался, когда столкнулся с этим вопросом. Но нет ответа? : - (

Оставив проблему на две недели, я нашел здесь решение :

Короче говоря:

Цитата из ссылки выше:

Мы должны использовать Объект-обработчик, потому что мы не можем обновить большинство UI-объектов, пока в отдельной ветке. Когда мы отправляем сообщение обработчику он получит сохраняются в очереди и выполняются поток пользовательского интерфейса как можно скорее.

Как только вы просмотрите код, вы увидите, что говорит автор.
ПРИМЕЧАНИЕ. Даже с обработчиком Android может не позволить вам обновлять объект представления из метода run () потока. Я получил эту ошибку:

05-31 02:12:17.064: ERROR/AndroidRuntime(881):
android.view.ViewRoot$CalledFromWrongThreadException: 
Only the original thread that created a view hierarchy can touch its views.

Чтобы обойти ее, я обновил массив данных в моем методе run () и использовал этот массив для обновления представления в методе handleMessage () обработчика.

Надеюсь, это поможет другим. .

19
ответ дан 1 December 2019 в 02:46
поделиться

Вы можете использовать slowAdapter для обновления представления:

SlowAdapter slowAdapter = new SlowAdapter(this);

list.setAdapter(slowAdapter);
slowAdapter.notifyDataSetChanged();
4
ответ дан 1 December 2019 в 02:46
поделиться

Я нашел это сам, когда читал эту ветку и пробовал.

Кратко: метод AsyncTask onProgressUpdate может касаться представления : http://developer.android.com/reference/android/ os / AsyncTask.html # onProgressUpdate (Progress ...)

Справочная информация: мне нужно было вызвать запрос к моему курсору, чтобы ListView продолжал обновляться, пока задача заполняет базу данных. Вызов запроса, сделанный в doInBackground , завершился ошибкой с упомянутым CalledFromWrongThreadException , но тот же код в onProgressUpdate работает.

3
ответ дан 1 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: