Dart 颤振:如何从listview.builder中的文本字段计算值

Dart 颤振:如何从listview.builder中的文本字段计算值,dart,flutter,Dart,Flutter,我想从listview中的textfield中检索和计算输入值。。如何做到这一点 您应该定义一个与列表视图长度相同的文本编辑控制器列表,然后为列表中的每个文本字段分配一个此数组的对象,这将使您能够在编辑时或完成时检索值。这是我所说的一个例子: List<TextEditingController> textFieldControllers ; 之后,您可以通过以下方式检索值: textFieldControllers[index].text 太棒了。在下面添加了一些东西以适合我的

我想从listview中的textfield中检索和计算输入值。。如何做到这一点

您应该定义一个与
列表视图
长度相同的
文本编辑控制器
列表,然后为列表中的每个
文本字段
分配一个此数组的对象,这将使您能够在编辑时或完成时检索值。这是我所说的一个例子:

List<TextEditingController> textFieldControllers ;
之后,您可以通过以下方式检索值:

textFieldControllers[index].text

太棒了。在下面添加了一些东西以适合我的用例

首先定义一个
列表
如so
List textFieldControllers=[];
然后遍历在
list.builder
中创建小部件时使用的列表,如下所示

 for (var i = 0; i < typesItem.length; i++) {
  textFieldControllers.add(TextEditingController());
}
并在return方法中设置TextField控制器,如下所示

textFieldControllers[index]
因此,您可以通过使用

  textFieldControllers[index].text;
您可以根据自己的情况进行操作

List<TextEditingController> machPresent=[];
machPresent.add(TextEditingController(text: ''));

Container(
          height: mainScreenHeight * 0.06,
          width: mainScreenWidth * 0.3,
          child: TextFormField(
            keyboardType: TextInputType.number,
            controller: machPresent[index],
            enabled: true,
            textAlign: TextAlign.center,
            ),
          ),
        ),
结果

I/flutter ( 7914): fff888- -- -- -Select Status
I/flutter ( 7914): sourav- -- -- -Select Status

添加一些有用的代码片段以更好地理解问题您尝试了什么?你遇到了什么问题?它起作用了。。但是如果我们不知道列表的长度,而我想从listview中的textfield中获取值,那该怎么办呢?你不会的,除非你已经为该字段指定了一个
TextEditingController
,那么你就可以获取它的内容了。
List<TextEditingController> machPresent=[];
machPresent.add(TextEditingController(text: ''));

Container(
          height: mainScreenHeight * 0.06,
          width: mainScreenWidth * 0.3,
          child: TextFormField(
            keyboardType: TextInputType.number,
            controller: machPresent[index],
            enabled: true,
            textAlign: TextAlign.center,
            ),
          ),
        ),
Container(
  height: mainScreenHeight * 0.06,
  width: mainScreenWidth * 0.3,
  child: RaisedButton(
   onPressed: () {
      submitForm(index);},
   child: Text('Submit',textAlign: TextAlign.center),
 ),
),

  dynamic submitForm(int index) {
    var machValue=machPresent[index].text;
    var f= machValue;
    print(f);
  }
I/flutter ( 7914): fff888- -- -- -Select Status
I/flutter ( 7914): sourav- -- -- -Select Status