如何将listview项目重新排序到listview的顶部

时间:2016-02-12 12:45:19

标签: android listview

我想根据用户选择将列表视图中的项目重新排序到该列表视图的顶部,我将简要解释一下我拥有的数据以及到目前为止所取得的进展。

我有一个由数据库填充的列表视图(这些行按顺序和内容频繁更改)

示例100行

1 Mary 34 Ireland
2 John 12西班牙
3 Sam 23 USA
4.莎拉12西班牙

当用户点击行项目时,我可以确定该用户点击该项目的位置。这很好。

我希望能够从列表视图中保存自己喜欢的选项,并将其收藏夹重新排序到列表顶部每次从数据库中填充列表视图。

例如,如果用户点击4. Sarah,我们将Sarah保存为收藏夹,并将Sarah重新排序到列表视图的顶部。

  1. Sarah 12西班牙
    ------------
    1 Mary 34 Ireland
    2 John 12西班牙
    3 Sam 23 USA
  2. 因为listview项目正在从数据库的更新实时更改,我很困惑如何实现这一点。

    任何建议都会很棒

1 个答案:

答案 0 :(得分:0)

您可以通过删除项目来重新排序项目,该项目必须转到顶部并在顶部位置添加项目(index = 0)。顶部的实际项目也必须如此。 只需使用:

list.remove(item);
list.add(index, item);

别忘了打电话:

adapter.notifyDataSetChanged();

希望这有帮助!

修改 我还建议您在当前列表视图的顶部使用新的列表视图(只有一行),您只需添加单击的项目。然后,您可以从底部列表视图中删除单击的项目。