Flutter 从动态添加的列表中删除项目<;Widget>;颤振

Flutter 从动态添加的列表中删除项目<;Widget>;颤振,flutter,Flutter,我正在努力从生成的列表中删除项目。我对颤振和编程相当陌生。有人能帮忙吗?我读了几篇文章,但一篇都不懂 class AddPoll扩展StatefulWidget{ 艾德波尔({ 关键点, 这个项目,, 这个索引,, }):super(key:key); 最终地图项目; 最终整数指数; @凌驾 AddPollState createState()=>新建AddPollState(); } 类AddPollState扩展状态{ int _指数=0; 串q; Map formData={}; 地图答案

我正在努力从生成的列表中删除项目。我对颤振和编程相当陌生。有人能帮忙吗?我读了几篇文章,但一篇都不懂

class AddPoll扩展StatefulWidget{
艾德波尔({
关键点,
这个项目,,
这个索引,,
}):super(key:key);
最终地图项目;
最终整数指数;
@凌驾
AddPollState createState()=>新建AddPollState();
}
类AddPollState扩展状态{
int _指数=0;
串q;
Map formData={};
地图答案={};
var_items=List();
_删除(键值){
打印(键值);
//从(_项)…移除(keyValue);
答案。删除(键值);
//答案。
}
void_add(){
int keyValue=_索引;
_项目=列表。从(_项目)…添加(
填充物(
填充:常量边集。对称(水平:20.0,垂直:10),
孩子:TextField(
装饰:输入装饰(
labelText:'Answer${keyValue+1}',
后缀键:图标按钮(图标:图标(羽毛.减号圆圈),按下:(){
_移除(键值);
})
),
一旦更改:(val){
答案[“a$keyValue”]=val;
},
),
),
);
设置状态(()=>++\u索引);
}
@凌驾
void initState(){
super.initState();
_添加();
}
save()异步{
formData={
q:q,,
a:答案
};
打印(表格数据);
pop(上下文、表单数据);
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:新的appBar(
标题:文本(“添加问题”),
操作:[
扁平按钮(
子项:文本(“保存”),
textColor:Theme.of(context.primaryColor),
已按下:(){
save();
},
)
],
),
正文:ListView(
收缩膜:对,
子项:[
填充物(
填充:常量边集。对称(水平:20.0,垂直:10),
孩子:TextField(
装饰:输入装饰(
labelText:“问题${widget.index+1}”
),
一旦更改:(val)=>q=val,
),
),
列表视图(
收缩膜:对,
子项:_项,
),
填充物(
填充:常量边集。对称(水平:20.0,垂直:10.0),
子:扁平按钮(按下时:添加,子:文本(“添加另一个答案”),
)
],
),
);
}
}

您的删除方法如下所示

  _remove(keyValue) {
    setState(() {

      _items = List.from(_items)..removeAt(keyValue);
      --keyValue;
      --_index;      
    });
  }

您的删除方法如下所示

  _remove(keyValue) {
    setState(() {

      _items = List.from(_items)..removeAt(keyValue);
      --keyValue;
      --_index;      
    });
  }

那么,您遇到了什么错误?我没有遇到任何错误。但是下面的答案解决了我的问题。ThanksHello@bigments我有一个类似的widgwet,在您的代码中,我可能会注意到一个错误,我不知道您是否解决了它,我将解释:如果您添加了3个答案,其中包含文本“1”、“2”和“3”分别删除答案2,答案2被删除,但在文本字段中仍然是3。让我知道这个问题是否发生在您身上,以及您是如何解决的。您遇到了什么错误?我没有收到任何错误。但是下面的答案解决了我的问题。谢谢Shello@Bigments我有一个类似的widgwet,通过您的代码,我可以注意到一个错误,我不知道“我不知道你们是否已经解决了这个问题,我会解释:若你们分别添加了3个答案,文本为“一”、“二”和“三”,然后删除了答案2,答案2将被删除,但在文本字段中仍然是三个。让我知道这个问题是否发生在你们身上,以及你们是如何解决的。”