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/ 上的示例查看它是如何完成的。
基本上您所做的就是监听滚动变化,然后从加载器添加更多结果。不要忘记,一旦结果被添加到基础列表中,它们不会仅仅因为您向上滑动而被删除。从那时起,他们将永远在那里。
我正在尝试从 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/ 上的示例查看它是如何完成的。
基本上您所做的就是监听滚动变化,然后从加载器添加更多结果。不要忘记,一旦结果被添加到基础列表中,它们不会仅仅因为您向上滑动而被删除。从那时起,他们将永远在那里。