Android SimpleCursorAdapter - 限制 ListView 结果

标签 android listview simplecursoradapter

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

这在添加更多 ListView 行时效果很好,但是在单击按钮后我发现列表中的内容出现了奇怪的行为。我看到重复的列表元素和不正确的元素内容,这些元素是在我的 bindview 方法中设置的。我假设这与重写 getCount 方法有关(我确信这是执行“加载下一个 25”功能的更好方法),因为当我只显示整个数据库结果集时,我没有看到这种行为并且不要重写该方法。

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

提前致谢...如果需要,我可以在明天回到笔记本电脑时提供代码 fragment 。

最佳答案

我认为您可以通过简单地使用不同的查询来获取结果来存档此内容。 SQLite 支持LIMIT operator它可以返回查询的前 n 个结果。

因此,您的第一个查询如下所示:SELECT [your columns] FROM [your table] LIMIT 25

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

关于Android SimpleCursorAdapter - 限制 ListView 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5241871/

相关文章:

android - 如何在 Android 上显示启动画面 3 秒?

javascript - Android 7.0 不支持 jQuery 版本?

java - 使用自定义 BaseAdapter 的 ListView - 工作正常但不适用于添加的第一个项目

android - 使用 SimpleCursorAdapter 和 SQLite 在 ListView 中反转顺序

android - SimpleCursorAdapter 和 CursorAdapter

android - 升级的 react 原生版本

qt - QML ListView : Flickable as delegate cannot be scrollable

android - 当我导航回 ListView 页面时,是否可以更新它?

android - SQLite 外键从另一个表获取值

java - R.layout.activity_main 添加LinearLayout