Android SimpleCursorAdapter - 限制ListView结果

B M*_*Mac 2 android listview simplecursoradapter

我提前道歉,因为我离开了笔记本电脑并且无法生成任何代码示例,但希望我能够清楚地回答我的问题.我有一个由sqlite db支持的ListView(通过SimpleCursorAdapter).我正在尝试实现功能,因此列表一次只显示db查询中的某些元素.我通过在onCreate中加载db中的所有数据来完成此操作,并在启动列表时使用首选的元素#覆盖SimpleCursorAdapter的getCount方法.我还有一个按钮,可以将更多元素加载到列表中.这是通过更新getCount应返回的计数来完成的.

这在添加更多listview行时工作正常,但是在单击按钮后,我看到列表中的内容出现了奇怪的行为.我看到重复的列表元素和不正确的元素内容,这些都是在我的bindview方法中设置的.我假设这与覆盖getCount方法有关(我确定你是一个更好的方法来执行"Load Next 25"功能),因为当我只显示整个db结果集时我没有看到这种行为并且不要覆盖该方法.

我想我的问题是,当你处理SimpleCursorAdapter时,可以覆盖getCount方法导致bindview方法中的有趣行为吗?使用支持ListView的db查询结果实现此类功能的最佳方法是什么?

在此先感谢...如果需要,我可以在明天回到笔记本电脑时提供代码片段.

Flo*_*Flo 5

我认为你可以通过简单地使用不同的查询来存档这个结果.SQLite支持LIMIT运算符,它可以返回查询的前n个结果.

所以你的第一个查询看起来像这样: SELECT [your columns] FROM [your table] LIMIT 25

当按下加载下25个结果的按钮时,您创建一个限制为50的新查询,并使用changeCursor()方法将结果光标绑定到SimpleCursorAdapter .