seong
Flutter ReorderableListView 위젯 본문
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-- 를 해주게된다.