【问题标题】:How to increment index in a GridView in Flutter?如何在 Flutter 的 GridView 中增加索引?
【发布时间】:2020-11-16 21:47:45
【问题描述】:

我有一个GridView,如下所示。我正在尝试将其划分为较小的 GridViews 并在其间放置一个分隔符。

但是,0-5 中的元素不断重复,而不是显示一个连续的列表。我正在尝试以 6 个批次继续元素,其中第一批是 0-5,下一批是 6-11,依此类推..

这是我的代码:

@override
  Widget build(BuildContext context) {
    return Scaffold(
        body: ListView.separated(
      separatorBuilder: (context, int) {
        return Divider(color: Colors.black,);
      },
     // shrinkWrap: true,
      itemBuilder: (BuildContext context, int index) {
        return GridView.count(
          shrinkWrap: true,
          crossAxisCount: 3,
          childAspectRatio: 2.0,
          children: List.generate(6, (index) {
            return Center(
              child: RaisedButton(
                onPressed: (){},
                color: Colors.greenAccent,
                child: Text(
                  '$index AM',
                ),
              ),
            );
          }),
        );
      },
      itemCount: 4,
    ));
  } 

这是GridView 的样子:

【问题讨论】:

  • 我认为问题是由 ListView.separated 引起的。尝试删除它。如果你想要分隔线不要使用这种方式。
  • 但是如何改变网格的索引呢?分隔线工作正常@Bensalkb

标签: flutter user-interface dart gridview


【解决方案1】:

您可以使用 itembuilder 中的索引来了解您正在生成哪一组 6。

itemBuilder 中的名称index 更改为itemBuilderIndex,如下所示:

itemBuilder: (BuildContext context, int itemBuilderIndex) {

并执行此操作以获得您想要的计算数字:

'${(itemBuilderIndex * 6) + index} AM'

(6 是每个段的项目数)

【讨论】:

    猜你喜欢
    • 2020-08-25
    • 2020-06-29
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多