Android维护ListView中所选项目的位置

时间:2011-11-14 03:06:53

标签: android listview simplecursoradapter

我有一个包含复选框的项目列表视图。

我有一个自定义CursorAdapter,如果在获取View方法中字段值为“1”,则会检查复选框。

当我点击列表视图中的列表项时,它会选中复选框并将字段更新为“1”。我遇到的问题是当我在自定义适配器上调用changecursor方法时,它会重新加载所有内容并指向第一个项目而不是我刚刚单击的项目。

在changeCursor方法中,我有以下内容:

    public void changeCursor(Cursor cursor) {
    super.changeCursor(cursor);
    init(cursor);
    notifyDataSetChanged();
}

有没有办法保持位置或变通方法重新加载光标而不会跳转到第一项?

1 个答案:

答案 0 :(得分:1)

您基本上需要一些数据结构来跟踪已检查的项目。您可以在自定义适配器中使用布尔数组。

有关详细信息,请参阅此链接Custom listview with checkbox problem

listview with checkbox

如果您正在寻找示例,请尝试使用共享首选项解决listview中的复选框问题的http://appfulcrum.com/?p=281教程。

由于