Проблема с Android, добавление/удаление диалогов в списках после/перед HTTP-запросами

В моем приложении я выполняю асинхронную задачу для загрузки информации из базы данных mysql, а затем отображаю ее в виде списка, в котором используется настраиваемый адаптер, расширяющий базовый адаптер. В каждой строке отображаются одни и те же 3 столбца информации об объекте в отдельных текстовых представлениях.

Итак, это выглядит так:
Row1: TextView1 — TextView2 — TextView3
Row2: TextView1 — TextView2 — TextView3
Row3: TextView1 — TextView2 — TextView3
и т. д.

Мой вопрос заключается в том, что вместо того, чтобы в начале загрузки всей информации появлялось одно большое диалоговое окно и заставляло пользователя ждать ее обновления, можно ли поместить небольшое диалоговое окно в каждую строку и после его обновления отобразить текст где был диалог?

Таким образом, в начале обновления это будет выглядеть так:
Строка1: Диалог
Строка2: Диалог
Строка3: Диалог

Затем, после получения всей информации для row1:
Row1 : TextView1 - TextView2 - TextView3
Row2 : Dialog
Row3 : Dialog
и т.д....


person zafrani    schedule 12.12.2011    source источник


Ответы (1)


Да, это возможно. Фактически, одна из лучших практик для списков, содержащих большие данные, такие как изображения, состоит в том, чтобы вставить подставку, а затем отобразить ее, как только она будет готова. Для этого вам нужно будет создать список ожидания, запустить асинхронную задачу, чтобы заполнить его, и после завершения строки вызвать onProgressUpdate(), чтобы правильно разместить его в списке, и notifyDataSetChanged(), чтобы отобразить его.

person Ashterothi    schedule 12.12.2011
comment
Что вы имеете в виду под использованием стенда? Нравится использовать пустой макет? - person zafrani; 12.12.2011
comment
Что вы решите внести в список, пока информация не будет заполнена, зависит от вас. Это может быть обычная иконка, счетчик или вообще ничего. Что бы вы ни хотели указать, что что-то грядет, но еще не здесь. Если вы посмотрите на многие приложения для Android (например, списки контактов или твиттер), будет отображаться общее изображение до тех пор, пока данные не будут загружены. - person Ashterothi; 12.12.2011