You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中点击GridView项时如何获取所在列的信息

获取GridView点击项所在列的方法

直接利用item的索引和crossAxisCount计算就能实现,核心逻辑很简单:

因为GridView的item索引是按行顺序依次递增的(比如5列的话,第1行索引0-4,第2行5-9...),所以用当前item的index对crossAxisCount取余,再根据你的列计数习惯调整(比如从1开始计数就加1),就能得到所在列的编号。

举个代码示例:

GridView.count(
  crossAxisCount: 5,
  children: List.generate(10, (index) {
    return GestureDetector(
      onTap: () {
        // 计算从1开始的列号
        int columnNumber = (index % 5) + 1;
        print('点击了col$columnNumber');
        // 这里可以根据columnNumber执行对应逻辑
      },
      child: Container(
        alignment: Alignment.center,
        child: Text('info${index+1}'),
        margin: EdgeInsets.all(8),
        color: Colors.grey[200],
      ),
    );
  }),
)

比如点击info3(索引2)时,2%5+1=3,对应col3;点击info8(索引7)时,7%5+1=3,同样对应col3,完全符合你的需求。如果你的列是从0开始计数,直接用index % 5即可。

内容的提问来源于stack exchange,提问作者Abu Qudama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:34:54