2014-02-18 2 views
0

Мое приложение начинается с загрузки нескольких файлов из Интернета. Я бы хотел отобразить строку текста, в которой говорится «Загрузка файлов», когда он выполняет указанную загрузку. Проблема в том, что представление, похоже, не обновляется до тех пор, пока весь код не будет запущен, поэтому текстовое представление не будет отображаться. Я попытался запустить invalidate и postInvalidate в объекте mLayoutView между кодом для текстового представления и кодом для загрузки файлов, и это, похоже, не влияет. Что мне не хватает?Android - отображает изменения перед просмотром перед запуском Больше кода

+1

вы скачиваете в отдельном потоке? – Merlevede

+0

Такая же тема. Это только мое первое законное приложение для Android, я не слишком понимаю, как работают потоки. –

ответ

1

Вам необходимо выполнить загрузку в отдельной теме. Это необходимо по нескольким причинам: если ваш код загрузки занимает больше 5 секунд, Android сообщит о вашем неактивном действии, и он не сможет обновить пользовательский интерфейс.

Есть десятки примеров о том, как это сделать, вы можете использовать AsyncTask, но и объект Thread или Runnable ... Смотрите эту ссылку отличный пример:
Download a file with Android, and showing the progress in a ProgressDialog

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