The value of the onReorderCallback's newIndex and oldIndex parameters are non-intuitive due to some now-historical flawed API engineering. They're explained here: https://api.flutter.dev/flutter/widgets/ReorderCallback.html, but not in https://api.flutter.dev/flutter/material/ReorderableListView-class.html or in https://api.flutter.dev/flutter/material/ReorderableListView/onReorder.html.
We decided not to fix the problem because there wasn't a way to automatically update old apps: #93146 (comment) which many developers were unhappy about.
The documentation for the ReorderableListView and for ReorderableListView.onReorder should explain this quirk.
The value of the onReorderCallback's newIndex and oldIndex parameters are non-intuitive due to some now-historical flawed API engineering. They're explained here: https://api.flutter.dev/flutter/widgets/ReorderCallback.html, but not in https://api.flutter.dev/flutter/material/ReorderableListView-class.html or in https://api.flutter.dev/flutter/material/ReorderableListView/onReorder.html.
We decided not to fix the problem because there wasn't a way to automatically update old apps: #93146 (comment) which many developers were unhappy about.
The documentation for the ReorderableListView and for ReorderableListView.onReorder should explain this quirk.