Recyclerview的项目在改变位置,但随机变化,我尝试了下面给出的代码,并尝试了许多但没有起作用。我只想在单击该项目时将Recyclerview项的位置更改为位置“ 0”。
例如,当我单击“ 4”位置的项目时,我得到了5个项目的ArrayList,然后应将该项目的位置更改为“ 0”,并将其余项目更改为1,2,3,4。
我想要这样 点击之前 项目0-位置1 项目1-位置2 项目2-位置3 项目3-位置4 项目4-位置5
点击后 项目3-位置1 项目0-位置2 项目1-位置3 项目2-位置4 项目4-位置5
Collections.swap(ArrayList,Position,0); notifyItemMoved(Position,0);
项目将位置更改为“ 0”,但仅在“首次点击”下有效,此后位置仅随机更改顶部项目。
答案 0 :(得分:0)
在适配器中添加此功能,并在点击事件中调用此功能
public void moveToTop(List<T> items, int pos){
if(pos>=0){
items.add(0, items.remove(pos));
notifyDataSetChanged();
}
}