[flutter] 플러터 GridView에서 아이템을 선택한 상태에서 다른 아이템을 선택하면 이전에 선택한 아이템에서 선택 해제되는 방법은?
예를 들어, 다음과 같이 상태를 관리하고 토글하는 메소드를 작성할 수 있습니다.
List<bool> _isSelected = List.generate(itemCount, (index) => false);
void toggleItemSelection(int index) {
setState(() {
_isSelected[index] = !_isSelected[index];
});
}
그리드 뷰 아이템을 터치할 때 이 메소드를 호출하여 아이템의 선택 상태를 토글할 수 있습니다.
GridView.builder(
itemCount: itemCount,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
),
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
toggleItemSelection(index);
},
child: Container(
color: _isSelected[index] ? Colors.blue : Colors.white,
child: Center(
child: Text('Item $index'),
),
),
);
},
)
이렇게 함으로써, 플러터 GridView에서 아이템을 선택한 상태에서 다른 아이템을 선택하면 이전에 선택한 아이템에서 선택 해제되는 방법을 구현할 수 있습니다.