SQLite。如何部分填充 ListView?

SQLite. How to populate ListView partially?

我正在尝试从 SQLite 数据库填充 ListView。

我有这个table:

CREATE TABLE meaning(
key TEXT, 
value TEXT, 
entries BLOB);

并为列 key 创建了这个索引:

CREATE INDEX index_key on meaning(key);

我正在使用此查询从数据库中获取所需数据:

SELECT rowid AS _id, value, entries 
FROM meaning 
WHERE key 
LIKE 'dog%' 
ORDER BY key 
LIMIT 100

结果将在 510 毫秒后出现。这对于增量搜索来说相当慢。是否可以逐个填充 ListView,以便当用户向下滚动 ListView 时,将显示其他部分数据?

是的,您可以分段加载数据,以便用户仅在向下滑动视图时才能看到结果集。按照此位置 http://www.avocarrot.com/blog/implement-infinitely-scrolling-list-android/ 上的示例查看它是如何完成的。

基本上您所做的就是监听滚动变化,然后从加载器添加更多结果。不要忘记,一旦结果被添加到基础列表中,它们不会仅仅因为您向上滑动而被删除。从那时起,他们将永远在那里。