title: ReorderListView is not working in flutter
body: <p>I added one ReorderListView widget in column and this column widget is child of  ListView.builder . This reorderListView functionality is working we can reorder the listview but when I longpressed on any item and change the position then I faced the issue with position of this item . it will going Upside more and left to screen .</p>
  <p><a href="https://i.stack.imgur.com/z8WqE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/z8WqE.png" alt=" first image is for initial reorderlistview" /></a> <a href="https://i.stack.imgur.com/8ikV2.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8ikV2.png" alt=" when I longpress on first item then you can see that item is going up and left in second image." /></a>
  please check the both images.</p>
  <pre><code> Builder(
          builder: (BuildContext context) {
            return ReorderableListView.builder(
              physics: NeverScrollableScrollPhysics(),
              shrinkWrap: true,
              itemCount:
                  switchValue.multipleSwitch[widget.question.id]?.length ?? 0,
              itemBuilder: (BuildContext context, int index) {
                return ListTile(
                  key: Key('$index'),
                  // padding: const Pad(left: 10, right: 16),
                  // height: 50,
                  title: Row(
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      Text(
                        switchValue.multipleSwitch[widget.question.id]![index]
                                .text ??
                            options[index].text ??
                            '',
                        style:
                            theme.titleLarge?.copyWith(color: Colors.black87),
                      ),
                      const Spacer(),
                      CustomFlutterSwitch(
                        value: switchValue
                                .multipleSwitch[widget.question.id]![index]
                                .isSelected ??
                            false,
                        onToggle: (val) {
                          if (options.isEmpty) {
                            options.addAll(
                              switchValue
                                      .multipleSwitch[widget.question.id] ??
                                  [],
                            );
                          }
  
                          if (val) {
                            final Map&lt;String, List&lt;RadioModel&gt;&gt; statedata = {
                              ...ref
                                  .read(formPageAnswerProvider)
                                  .multipleSwitch
                            };
                            options[index] = RadioModel(
                              isSelected: true,
                              text: switchValue
                                  .multipleSwitch[widget.question.id]?[index]
                                  .text,
                            );
                            statedata[widget.question.id] = options;
                            ref
                                .read(formPageAnswerProvider.notifier)
                                .stateMultipleSwitch(statedata);
                          } else {
                            final Map&lt;String, List&lt;RadioModel&gt;&gt; statedata = {
                              ...ref
                                  .read(formPageAnswerProvider)
                                  .multipleSwitch
                            };
                            options[index] = RadioModel(
                              isSelected: false,
                              text: switchValue
                                  .multipleSwitch[widget.question.id]?[index]
                                  .text,
                            );
                            statedata[widget.question.id] = options;
                            ref
                                .read(formPageAnswerProvider.notifier)
                                .stateMultipleSwitch(statedata);
                          }
                          final Map&lt;String, int&gt; points = {
                            ...ref.read(formProvider).multipleSwitchespoint
                          };
                          final Map&lt;String,
                                  Input_multiple_switches_selection_question_answers_insert_input&gt;
                              mutationData = {};
                          if (switchValue.multipleSwitchesAnswer.isNotEmpty) {
                            mutationData.addAll(
                              Map&lt;String,
                                  Input_multiple_switches_selection_question_answers_insert_input&gt;.from(
                                switchValue.multipleSwitchesAnswer,
                              ),
                            );
                          }
  
                          int point = 0;
                          for (final RadioModel element in switchValue
                                  .multipleSwitch[widget.question.id] ??
                              []) {
                            point += element.points ?? 0;
                            mutationData[widget.question.id] =
                                Input_multiple_switches_selection_question_answers_insert_input(
                              page_id: element.page,
                              form_id: element.form,
                              question_id: element.question,
                              user_id: userId,
                              answer: element.answer,
                            );
                            ref
                                .read(formPageAnswerProvider.notifier)
                                .saveMultipleSwitch(mutationData);
                          }
                          points[widget.question.id] = point;
                          ref
                              .read(formProvider.notifier)
                              .saveMultipleSwitchespoint(points);
  
                          // final _index  = defaultOptions.indexWhere((element) =&gt;
                          // element == options[index],);
                          // defaultOptions[_index] = options[index];
  
                          widget.onChange(options);
                        },
                      ),
                    ],
                  ),
                );
              },
              onReorder: (int oldIndex, int newIndex) {
                if (formState.reorderList == true) {
                  final Map&lt;String, List&lt;RadioModel&gt;&gt; statedata = {
                    ...ref.read(formPageAnswerProvider).multipleSwitch
                  };
                  if (oldIndex &lt; newIndex) {
                    newIndex -= 1;
                  }
                  final RadioModel item = options.removeAt(oldIndex);
                  options.insert(newIndex, item);
                  statedata[widget.question.id] = options;
                  ref
                      .read(formPageAnswerProvider.notifier)
                      .stateMultipleSwitch(statedata);
                }
              },
            );
          },
        ),
  </code></pre>