[JAVA] Sortieren Sie ArrayList durch Ziehen und Ablegen von ItemTouchHelper

Der in RecyclerView verwendete ItemTouchHelper kann Drag & Drop und Swipe problemlos implementieren.

Ist es jedoch möglich, die Reihenfolge der Listendaten intern per Drag & Drop zu ändern? Selbst wenn Sie die Liste speichern, wird sie beim nächsten Start wiederhergestellt. Also habe ich einen kleinen Code hinzugefügt.

Es ist einfach.

@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);
    //Von hier aus hinzufügen
    String temp = arrayList.get(fromPosition);
    arrayList.remove(fromPosition);
    arrayList.add(toPosition, temp);
    //Bisher
    return true;
}

Der Punkt ist, es nach dem Löschen hinzuzufügen.

Recommended Posts

Sortieren Sie ArrayList durch Ziehen und Ablegen von ItemTouchHelper
LinkedList und ArrayList
[Sortieren] Sortieren, indem Sie einem Benutzer folgen, einem Follower folgen und folgen (absteigende Reihenfolge)!