Android SimpleCursorAdapter-限制ListView结果

Android SimpleCursorAdapter-限制ListView结果,android,listview,simplecursoradapter,Android,Listview,Simplecursoradapter,我提前道歉,因为我不在笔记本电脑旁,无法生成任何代码示例,但希望我能清楚地回答我的问题。我有一个列表视图,它由sqlite db通过SimpleCursorAdapter支持。我正在尝试实现功能,以便列表一次只显示db查询中的某些元素。我通过在onCreate中加载数据库中的所有数据,并在启动列表时使用首选的元素覆盖SimpleCursorAdapter的getCount方法来实现这一点。我还有一个按钮,可以将更多元素加载到列表中。这是通过更新getCount应该返回的计数来完成的 这在添加更多

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

这在添加更多listview行时效果很好,但是在单击按钮后,我看到列表中的内容出现了奇怪的行为。我看到重复的列表元素和不正确的元素内容,这些都是在我的bindview方法中设置的。我假设这与重写getCount方法有关,我相信这是执行Load Next 25函数的更好方法,因为当我只显示整个db结果集而不重写该方法时,我没有看到这种行为

我想我的问题是,在处理SimpleCorsorAdapter时,重写getCount方法是否会导致bindview方法中出现有趣的行为?使用支持ListView的db查询结果实现此类功能的最佳方法是什么


提前感谢……如果需要的话,我可以在明天回到笔记本电脑前提供代码片段。

我认为您可以通过使用不同的查询来获得结果,从而将其存档。SQLite支持可以返回查询的前n个结果的

因此,您的第一个查询如下所示:从[your table]LIMIT 25中选择[your columns]


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

我不建议这样做。如果数据库包含少于个条目,会发生什么情况?我猜这会导致不可预测的行为。我同意Flo的解决方案。非常感谢您的帮助!我试图在D.QueQuess的范围内工作,我不认为它允许一个限制参数,但是我忽略了只考虑使用SQL语句的Excel SQL方法。我将在我的代码中进行此更改,再次感谢!一个快速的后续问题…如果我使用这种方法,ListView会从游标的第一个结果开始吗?换句话说,ListView是否会自动向上滚动到顶部,或者是否会让用户靠近ListView停止的位置,并按下Next x按钮以查看引入的新记录。不客气。关于第二个问题,我不知道列表会有什么反应,但我相信有一种方法可以让列表向下滚动到新查询之前的最后一项。虽然我在ListView类的方法setSelection和setSelectionAfterHeaderView之前从未使用过它们,但是对于这个问题,它们看起来很有希望。谢谢。这个解决方案真的很好,适用于我们下单的时候。有人能推荐我们从适配器加载前几行返回的逻辑吗。