【发布时间】:2012-12-23 14:53:54
【问题描述】:
以下是场景:我有一个简单的 ListView 显示 twitter 提要。我有一个从 sqlite 获取推文的 CursorAdapter。当我在光标上调用 requery() 时,我希望将获取已添加到数据库中的新推文。这一切都很好,发生这种情况后,新项目甚至在 ListView 中可见。
问题是滚动位置似乎是根据项目位置偏移量保存的。因此,假设我的 ListView 中的第一个可见位置是 4。当我重新查询并将 2 个新项目添加到列表顶部时,ListView 将第一个可见项目滚动位置保持为 4,但是由于列表中有两个新项目,我现在在位置 4 看到了与刷新之前不同的项目。此图说明了之前和之后:
注意之前,Tweet D 是第一个可见项目,之后,Tweet B 现在成为第一个可见项目。
我的问题是,如何在调用重新查询时根据光标位置保持相同的滚动位置,以便在此示例中,Tweet D 仍然是重新查询后的第一个可见项?
【问题讨论】:
标签: android android-listview xamarin.android android-cursoradapter