我有一个ListView.builder小部件
void delete(dynamic obj) {
setState((){
pc.remove(obj);
})
}
void update(dynamic obj){}
List pc = List();
@override
void init(){
super.initState();
//Fetch data
setState((){
pc = data;
})
}
@override
Widget build(BuildContext context) {
return Container(
child: ListView.builder(
padding: EdgeInsets.only(bottom: 72.0),
itemCount: pc.length,
itemBuilder: (context, index) {
return ListItemWid(
pc.elementAt(index), delete, update);
},
),
);
}
这里显示了动态的元素类型,但实际上是一个固定的对象。现在,当ListItemWid的delete按钮被调用时,我调用有状态小部件中的delete函数,并且执行函数中的代码,因为对象从db中删除。但在《意见》中没有得到适当反映。有时候,删除了错误的元素,有时候根本没有删除任何元素。有时灵由于限制,我不能发布实际的源代码,但我真的需要帮助修改flutter中列表视图中的元素。Flutter画廊中所示的标准方法不起作用。
更多信息,列表视图显示在一个PageView页面中,所有数据都是从Sqflite获取的,并仅在当前列表小部件中显示。
请帮帮我
谢谢.
2条答案
按热度按时间nx7onnlm1#
你应该添加一个键到你的ListView构建器返回的小部件,我建议你从谷歌开发者频道看这个视频:https://www.youtube.com/watch?v=kn0EOS-ZiIc它很好地帮助您了解更多关于“键”
w8f9ii692#
如果使用此命令删除特定索引值
listName.removeAt(index);