[flutter] ListView의 아이템 수정하기
우선 ListView를 생성하고, 아이템 목록을 저장하는 데이터 소스를 만듭니다. ListView.builder를 사용하여 동적으로 아이템을 표시합니다. ListTile과 같은 위젯을 사용하여 각 아이템을 렌더링할 수 있습니다.
ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(items[index]),
onTap: () {
// 아이템 수정 로직 추가
},
);
},
)
아이텤 수정을 위해 onTap 콜백 내에 수정 로직을 추가할 수 있습니다. 예를 들어, AlertDialog를 사용하여 수정 화면을 표시하거나, TextEditingController를 사용하여 아이템을 수정할 수 있는 입력 필드를 표시할 수 있습니다.
onTap: () {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('아이템 수정'),
content: TextField(
controller: editingController,
),
actions: <Widget>[
FlatButton(
onPressed: () {
setState(() {
items[index] = editingController.text;
});
Navigator.of(context).pop();
},
child: Text('저장'),
),
],
);
},
);
},
이때, 수정된 아이템 목록을 반영하기 위해 setState()를 호출하여 화면을 갱신해야 합니다. 위 예제에서는 AlertDialog를 사용하여 아이템을 수정할 수 있는 인터페이스를 제공했습니다.
ListView의 아이템을 수정하는 방법에 대한 간단한 예제이지만, 실제 앱에서는 더 많은 유저 인터페이스와 데이터 관리를 고려해야 합니다.