2016-02-12 128 views
0

我想重新排列列表视图中的项目到基于用户选择的列表视图的顶部,我将简要解释我拥有的数据和迄今取得的进展。如何重新排列列表视图项目到列表视图顶部

我有一个是通过从数据库(这些行中顺序和内容频繁变化)

实施例100行

填充

1玛丽34爱尔兰
约翰二书12西班牙
3萨姆列表视图23美国
4.莎拉12西班牙

当用户点击一个行项目,我可以确定该用户点击该项目的位置。这工作正常。

我希望能够从列表视图中保存他们最喜欢的选择并将他们的收藏夹重新排列到列表顶部每次从数据库填充列表视图。

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

  • 萨拉12西班牙
    ------------
    1玛丽34爱尔兰
    约翰二书12西班牙
    3萨姆23美国
  • 因为列表视图项目正在从更新实时更改到数据库im困惑如何实现这一点。

    任何意见将是巨大的

    +0

    我发现了一个事实,你是新来的java和android? – GvSharma

    +0

    发布您的适配器和活动代码,以便人们可以更好地为您提供帮助 –

    回答

    0

    您只需将其取出物品,其中有去顶并添加顶部位置(指数= 0)的项目重新排序您的项目。顶部的实际项目也必须完成。 只需使用:

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

    不要忘记调用:

    adapter.notifyDataSetChanged(); 
    

    希望这有助于!


    编辑: 我也建议您,在您的当前列表视图,在这里你只要添加点击项目的顶部使用一个新的列表视图(只有一行)。然后,您可以从底部列表视图中删除点击的项目。

    +0

    感谢Edik,这真的很有用,你看我有一个记分牌这是一个列表视图,我想让用户点击一个人(数组中的项目)和将它们存储为最爱。每次刷新列表视图时,它都会有更新的项目和不同的行,他们的最爱会出现在最上面。 –

    +0

    我需要获取ID,保存在Prefs中的商店名称,然后检查每个项目的名称匹配,然后按照上述说明删除并添加 –

    +0

    Hello Jamie,很高兴听到我可以提供帮助。 – Edik