首页 > 解决方案 > 如何在 listview builder 中计算列表的总和?

问题描述

我想计算列表的总价格,我该怎么做。

输入价格的代码。

     Container(
            width: 60.0,
            alignment: Alignment.centerRight,
            decoration: BoxDecoration(
                color: Colors.white,
                borderRadius: BorderRadius.circular(10.0)
            ),
            child: Padding(
              padding: const EdgeInsets.only(top: 10.0, left: 16.0),
              child: TextFormField(
                maxLength: 3,
                controller: _amountController,
                keyboardType: TextInputType.numberWithOptions(),
                decoration: InputDecoration(
                  counter: Offstage(),
                  border: InputBorder.none,
                ),
              ),
            ),

如果我使用 .fold 那么我得到 _addfromInteger 错误..

               Container(
                        height: 40.0,
                        width: 100.0,
                        decoration: BoxDecoration(
                            color: Colors.white,
                            borderRadius: BorderRadius.circular(10.0)

                        ),
                        child: Center(
                            child: Text(listdynamicWidget.fold(0, (prev, el) => prev + el.productAmount).toString()),
                        )
                        ),
                    ],
                  ),

    

在此处输入图像描述

标签: flutter

解决方案


您应该在 StatefulWidget 使用 TextField 和 onChanged,如下所示。

TextField(
    onChanged: (inputText) {
      if (inputText.runtimeType == int) {
      // calculate method
      setState((){});
    }
  },
),

推荐阅读