ItemTouchHelper utilisé dans RecyclerView peut facilement implémenter le glisser-déposer et le glisser.
Cependant, est-il possible de modifier l'ordre des données de la liste en interne par glisser-déposer? Ainsi, même si vous enregistrez la liste, elle sera restaurée au prochain démarrage. J'ai donc ajouté un petit code.
C'est simple.
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target)
{
final int fromPosition = viewHolder.getAdapterPosition();
final int toPosition = target.getAdapterPosition();
recyclerAdapter.notifyItemMoved(fromPosition, toPosition);
//Ajouter à partir d'ici
String temp = arrayList.get(fromPosition);
arrayList.remove(fromPosition);
arrayList.add(toPosition, temp);
//Jusque là
return true;
}
Le but est de l'ajouter après l'avoir effacé.