[flutter] 플러터 GridView에서 아이템을 동적으로 추가하고 제거하는 방법은?
플러터에서 GridView는 유연하고 다양한 형태의 아이템을 표시하는 데에 사용됩니다. 아이템을 동적으로 추가하거나 제거하기 위해서는 몇 가지 방법을 사용할 수 있습니다.
아이템 추가
아이템을 동적으로 추가하기 위해서 List를 활용하는 것이 일반적입니다. 새로운 아이템을 추가할 때마다 리스트에 아이템을 추가하고, 이를 GridView에 반영하여 새로운 아이템을 표시할 수 있습니다.
아래는 간단한 예제 코드입니다.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
List<String> items = ['Item 1', 'Item 2', 'Item 3'];
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Dynamic GridView'),
),
body: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
itemCount: items.length,
itemBuilder: (BuildContext context, int index) {
return Card(
child: Center(
child: Text(items[index]),
),
);
},
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
items.add('New Item'); //새로운 항목 추가
});
},
child: Icon(Icons.add),
),
),
);
}
}
위의 코드에서 FloatingActionButton
을 클릭하면 리스트에 새로운 아이템이 추가됩니다.
아이템 제거
아이템을 제거하는 것도 비슷한 방식으로 할 수 있습니다. 아이템 제거를 위해서는 새로운 버튼을 만들고 해당 버튼을 클릭할 때 리스트에서 아이템을 제거하고, GridView를 업데이트합니다.
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
items.removeAt(1); //특정 항목 제거
});
},
child: Icon(Icons.remove),
),
이제 위의 예제 코드에서 FloatingActionButton
을 클릭하면 리스트의 두번째 아이템이 제거됩니다.
Grid나 ListView를 사용하여 동적으로 아이템을 추가하고 제거하는 방법에 대해서 알아보았습니다. 위의 예제 코드를 활용하여 자신만의 동적 아이템 추가 및 제거 기능을 구현해보세요.
더 많은 자세한 내용은 Flutter 공식 문서를 참고하세요.