Как загрузить * много * элементов в ListView? - PullRequest
1 голос
/ 12 июля 2011

У меня есть запрос к локальной базе данных sqlite, которая возвращает тысячи записей в моем приложении для Android: как я могу заполнить ListView, не блокируя его? Я думаю, что мне нужно повторить то, что происходит в таких приложениях, как Twitter, где данные извлекаются в блоке записей, но я не знаю, какой это правильный способ.

Кто-нибудь может мне помочь?

Ответы [ 3 ]

3 голосов
/ 12 июля 2011

Я думаю, что, возможно, память тоже может быть проблемой?

Возможно, вы захотите взглянуть на это ...

100K Список предметов

2 голосов
/ 12 июля 2011

Сделайте несколько потоков, чтобы ваше приложение не работало над чем-то одним.

Threading

Простой пример (приведенная выше ссылка разбивает его еще больше):

public void onClick(View v) { 
 new Thread(new Runnable() {    
public void run() {      

//Do SQL Load Here   

}  
}).start();}
1 голос
/ 13 июля 2011

Ну, я думаю, вы можете использовать концепцию пейджинга.Как вы видите в разных приложениях.Допустим, он загружает первые 50 элементов, затем, когда вы достигаете конца ListView, он снова получает следующие 50 элементов в потоке и т. Д. Это довольно просто, и вы также можете иметь элемент управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...