【发布时间】:2026-01-09 07:05:02
【问题描述】:
由于我不在笔记本电脑旁,无法生成任何代码示例,因此我提前道歉,但希望我能清楚地回答我的问题。我有一个由 sqlite db 支持的 ListView(通过 SimpleCursorAdapter)。我正在尝试实现功能,因此该列表一次仅显示来自 db 查询的某些元素。我通过在 onCreate 中加载来自 db 的所有数据,并在启动列表时使用首选元素 # 覆盖 SimpleCursorAdapter 的 getCount 方法来完成此操作。我还有一个按钮,可以将更多元素加载到列表中。这是通过更新 getCount 应该返回的计数来完成的。
这在添加更多列表视图行时效果很好,但是在单击按钮后,我看到列表中的内容出现奇怪的行为。我看到重复的列表元素和不正确的元素内容,它们是在我的 bindview 方法中设置的。我假设这与覆盖 getCount 方法有关(我确信这是执行“Load Next 25”函数的更好方法),因为当我只显示整个 db 结果集时我没有看到这种行为并且不要覆盖该方法。
我想我的问题是,当您处理 SimpleCursorAdapter 时,覆盖 getCount 方法会导致 bindview 方法中的有趣行为吗?使用支持 ListView 的 db 查询结果来实现此类功能的最佳方式是什么?
提前谢谢...如果需要,我明天回到笔记本电脑时可以提供代码 sn-ps。
【问题讨论】:
-
我不建议这样做。如果数据库包含少于 # 个条目会怎样?我猜这可能会导致不可预测的行为。我会选择 Flo 的解决方案。
标签: android listview simplecursoradapter