[flutter] 플러터 Checkbox 스크롤 가능한 목록 만들기
플러터(Flutter)에서 체크박스(checkbox)를 사용하여 스크롤 가능한 목록을 만들고 싶다면, ListView.builder 위젯을 사용하면 됩니다. ListView.builder는 항목을 동적으로 생성하여 스크롤 가능한 목록을 만들어주는 위젯입니다.
ListView.builder
ListView.builder는 항목을 동적으로 생성하는 위젯으로, 사용자가 필요한 만큼의 항목을 보여줄 수 있습니다. ListView.builder 위젯은 builder 콜백 함수를 필요로 합니다. 이 함수에서는 인덱스에 따라 각 항목을 만들어주면 됩니다.
아래는 ListView.builder를 사용하여 체크박스 목록을 만드는 예제 코드입니다.
ListView.builder(
itemCount: items.length,
itemBuilder: (BuildContext context, int index) {
return CheckboxListTile(
title: Text(items[index].title),
value: items[index].isChecked,
onChanged: (value) {
setState(() {
items[index].isChecked = value;
});
},
);
},
)
- itemCount: 항목의 개수를 지정합니다. 위 예제에서는 items 리스트의 길이를 사용하였습니다.
- itemBuilder: 각 항목을 만들어주는 콜백 함수입니다. 여기서는 CheckboxListTile 위젯을 사용하여 체크박스와 제목을 만들었습니다. 각 항목에 대한 상태 변화도 처리하기 위해 onChanged 콜백 함수를 지정하였습니다.
위 예제 코드에서 items는 체크박스 항목을 담은 리스트입니다. 해당 항목의 isChecked 속성은 체크박스가 체크되었는지 여부를 나타냅니다. onChanged 콜백 함수에서는 해당 항목의 isChecked 값을 업데이트하여 UI를 다시 그립니다.
이제 ListView.builder를 사용하여 여러 개의 체크박스를 포함한 스크롤 가능한 목록을 만들 수 있습니다.