seong

Flutter ReorderableListView 위젯 본문

Flutter/Flutter

Flutter ReorderableListView 위젯

hyeonseong 2023. 7. 5. 16:10

ReorderableListView

  • ListView에서 순서를 필요에 따라 마음대로 재배치 할 수 있는 위젯이다.
  • 기본적으로 View가 실시간으로 움직이는게 눈에 보이므로 StatefulWidget이 되어야한다.
  • 이 위젯은 Key와, onReorder는 꼭 넣어주어야한다.

1. List 생성 

2.ReorderableListView위젯을 만들어준다.

key값도 필요한데 이는 자식들의 Value값을 식별하기 위해서(?) 필요하다.

onReorder에는 oldIndex와, newIndex가 필요한데 그 이유는 재배치 하는 방식이

oldIndex를 없애고, newIndex를 추가 하는 것 이기 때문이다.

3. onReorder에서 사용할 함수 만들기

아래에서 모두 중요하지만 newIndex--;를 해준 이유

- 기존 List는 "A,B,C,D" 즉, 0~3까지 이다.

- 만약 순서가 "B,C,D,A"가 된다면 1,2,3,4가 된다.(oldIndex인 0은 remove, newIndex인 4가 추가) 

- 하지만 이때 기존의 List는 0~3이었지만, 새로 추가된 값은 4이기 때문에 에러가 발생한다. 그래서 newIndex-- 를 해주게된다.