Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 将小部件添加到具有.contains的listview_Flutter_Dart - Fatal编程技术网

Flutter 将小部件添加到具有.contains的listview

Flutter 将小部件添加到具有.contains的listview,flutter,dart,Flutter,Dart,在init状态下,我添加了一个if语句来检查列表中是否存在自定义小部件,我将把它传递给Listview.builder,称为AddItemButtonTile。如果它不存在,我想把它添加到列表中 @override void initState() { if (!displayedList.listContent.contains(AddItemButtonTile)) { displayedList.listContent.add(AddItemButtonTile(openTextFi

在init状态下,我添加了一个if语句来检查列表中是否存在自定义小部件,我将把它传递给Listview.builder,称为AddItemButtonTile。如果它不存在,我想把它添加到列表中

 @override
void initState() {
if (!displayedList.listContent.contains(AddItemButtonTile)) {
  displayedList.listContent.add(AddItemButtonTile(openTextField));
}
super.initState();
}
这段代码导致每次我离开并返回页面时都会添加一个新的AddItemButtontle。为什么此If语句返回true?

请尝试:

@override
void initState() {
   if (!displayedList.listContent.any((item) => item is AddItemButtonTile)) {
      displayedList.listContent.add(AddItemButtonTile(openTextField));
   }
   super.initState();
}