ReorderCallback typedef

void ReorderCallback (int oldIndex, int newIndex)

The callback used by ReorderableListView to move an item to a new position in a list.

Implementations should remove the corresponding list item at oldIndex and reinsert it at newIndex.

If oldIndex is before newIndex, removing the item at oldIndex from the list will reduce the list's length by one. Implementations used by ReorderableListView will need to account for this when inserting before newIndex.

Sample code

Example implementation:

final List<MyDataObject> backingList = <MyDataObject>[/* ... */];

void handleReorder(int oldIndex, int newIndex) {
  if (oldIndex < newIndex) {
    // removing the item at oldIndex will shorten the list by 1.
    newIndex -= 1;
  }
  final MyDataObject element = backingList.removeAt(oldIndex);
  backingList.insert(newIndex, element);
}

Implementation

typedef ReorderCallback = void Function(int oldIndex, int newIndex);