循环如何在颤振中工作

时间:2021-06-20 12:24:13

标签: flutter

return ListView.builder(
      itemCount: numItems * 2,
      padding: const EdgeInsets.all(16.0),
      itemBuilder: (BuildContext context, int i) {
        if (i.isOdd) return const Divider();
        final index = i ~/ 2 + 1;
        return _buildRow(index);

//Explain each line fully

1 个答案:

答案 0 :(得分:0)

return ListView.builder(
      itemCount: numItems * 2,
      padding: const EdgeInsets.all(16.0),
      itemBuilder: (BuildContext context, int i) {
        if (i.isOdd) return const Divider();
        final index = i ~/ 2 + 1;
        return _buildRow(index);
          } 
       );
  1. 属性 itemCount 是为 numItems * 2 次运行此循环(构建器),即假设 numItems 的值为 5,那么它将构建小部件或循环将运行 5*2=10 次。< /p>

  2. 属性填充会将整个列表周围的间距放置 16 像素,即从屏幕左侧开始,您的小部件将相距 16 像素,其他边也类似。

  3. 在这里的 itemBuilder 中有循环/构建器的主体,在这里我们有一个条件,如果 i 为奇数,则电话屏幕上将显示分隔符,否则 index 的值将变为 i~/2+ 1.

    比如11的值是5那么index=11~/2+1

    index=5+1=6(~/ 这个运算符将 11 除以 2,结果是 5.5,由于 ~ 它变成 5)

    在此之后,您将返回小部件 _buildRow() 并将 index 的值传递给它。

    在此之后,i 的值将递增,并且第 3 点将再次重复,就像我们在其他循环中递增并再次运行循环体一样。