尝试从列表中删除对象时迭代期间的并发修改

2024-03-29

我试图在多个列表中循环,最后比较它们的名称,如果它们不匹配,则将其从列表中删除......

但我收到此错误:

迭代期间并发修改:

虽然我已经复制了原始列表只是为了避免这个错误..但仍然得到它..我尝试的是:

globals.filteredPollsList = pollsList;
pollsList.forEach( (p) {
  for (var e in entitiesList) {
    print(e.name);
    for (var entity in entitiesFilter) {
      print(entity);
      print(e.name);
      if (e.name != entity && p.entityId != e.id) {
        print('true');
        globals.filteredPollsList.remove(p);
      }
    }
  }
});

但我收到此错误:

flutter: ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
flutter: The following ConcurrentModificationError was thrown while handling a gesture:
flutter: Concurrent modification during iteration: Instance(length:8) of '_GrowableList'.
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      List.forEach (dart:core/runtime/libgrowable_array.dart:279:36)
flutter: #1      _ShapedWidgetState.filterPoll (package:moi_polls_app/pages/home.page.dart:1484:15)
flutter: #2      _ShapedWidgetState.build.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:moi_polls_app/pages/home.page.dart:1896:45)
flutter: #3      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
flutter: #4      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
flutter: #5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
flutter: #6      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
flutter: #7      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)
flutter: #8      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
flutter: #9      PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
flutter: #10     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
flutter: #11     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:180:19)
flutter: #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22)
flutter: #13     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7)
flutter: #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
flutter: #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
flutter: #16     _invoke1 (dart:ui/hooks.dart:168:13)
flutter: #17     _dispatchPointerDataPacket (dart:ui/hooks.dart:122:5)
flutter:
flutter: Handler: onTap
flutter: Recognizer:
flutter:   TapGestureRecognizer#e99b3(debugOwner: GestureDetector, state: possible, won arena, finalPosition:
flutter:   Offset(283.3, 608.7), sent tap down)

怎么解决这个问题?


如果您想复制列表,请使用以下命令:

globals.filteredPollsList = List.from(pollsList);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试从列表中删除对象时迭代期间的并发修改 的相关文章

随机推荐

  • 错误:行太大:大小 8168,最大大小 8164

    我正在使用 PostgreSql 9 2 我有很多角色 并且所有角色都被授予了模式的 USAGE 权限 当我尝试创建新用户并授予权限时 我收到错误 CREATE ROLE my user GRANT USAGE on schema my s
  • 如何检查 PHP 是否打开了端口 465 和 587?

    我正在尝试使用 PHPMailer 通过 SMTP 和 gmail 发送电子邮件 我使用的确切脚本适用于其他服务器 但不适用于该特定托管公司的服务器 我已经检查过phpinfo 它告诉我allow url fopen is on并且没有di
  • 寻求有关以最小的开销在 Netflix Eureka 可发现的 Spring Boot 服务上进行开发的正确方法的建议

    我们正在运行一个基于 Spring Boot 的环境 其中包含大约 15 个微服务和一个注册到 Eureka 的 Zuul 边缘网关 目前 我已经设置了所有微服务通过 Zuul 网关调用其他微服务 例如 如果 serviceA 需要调用 s
  • 带接收器的 Kotlin 函数参数,从 Groovy 调用

    Kotlin 和 Groovy 都提供了一种编写高阶函数的方法 其中函数参数具有隐式接收器 科特林版本 class KotlinReceiver fun hello println Hello from Kotlin class Kotli
  • 如果值为 null,则在提交之前使用 js 或 jQuery 更改输入文本值

    如果输入值为 null 如何在提交之前使用 js 或 jQuery 更改输入文本值 感谢帮助 With jQuery http jquery com 您可以使用以下命令将回调绑定到提交事件 submit http api jquery co
  • 为什么我应该始终启用编译器警告?

    我经常听说在编译 C 和 C 程序时我应该 始终启用编译器警告 为什么这是必要的 我怎么做 有时我也听说我应该 将警告视为错误 我是不是该 我怎么做 为什么我应该启用警告 众所周知 C 和 C 编译器不善于报告一些常见的程序员错误默认情况下
  • Capybara 无法识别动态添加的 DOM 元素?

    在使用 Capybara 和 Selenium 时 我似乎在测试使用 jQuery 执行的 javascript 操作时遇到了麻烦 预期的行为是当用户单击链接 添加资源 时动态生成表单 Capybara 将能够单击该链接 但无法识别新的表单
  • Greasemonkey:新更新中“未定义 GM_xmlhttpRequest”

    为什么这个简单的 Greasemonkey 脚本对我不起作用https jsfiddle net pghnsw8z 1 https jsfiddle net pghnsw8z 1 我的意思是 在进行 ajax 调用时 我没有得到成功的响应
  • 无需表单即可在屏幕上绘图

    是否可以在不使用表单应用程序的情况下在屏幕上创建一个大的白色矩形 如果可能的话 它应该覆盖整个屏幕 我知道我必须使用System Drawing并尝试了几个步骤 但没有一个真正在我的屏幕上打印任何内容 方法一 调用Windows API 你
  • ANDROID从url获取内容

    我在使用 Android 时遇到问题 我必须能够从生成内容的 URL 中读取内容 然后将它们放入数组中 分割读取的字符串 我使用了不同的方法 但无法读取该字符串 我能怎么做 这是我现在使用的函数 继续出现字符串 nn va private
  • 具有可比较列表与 TreeSet

    选项 1 创建一个实现 Comparable 的列表 并在每次添加值时使用 collections sort List l 对它进行排序 选项 2 创建一个 TreeSet 它始终保持排序 哪一个会更快 我问这个是因为 List 为我提供了
  • git am 错误:“补丁不适用”

    我正在尝试使用 git 将多个提交从一个项目移动到第二个类似的项目 所以我创建了一个补丁 包含 5 个提交 git format patch 4af51 stdout gt changes patch 然后将补丁移动到第二个项目的文件夹并想
  • 如何在 C# 中使用 SendMessageTimeout 获取窗口标题

    我需要枚举所有打开的窗口并获取它们的标题 但问题是某些窗口属于同一进程但属于不同的线程 该线程被阻塞 等待互斥体 因此 我不能对属于我自己的进程的窗口使用 GetWindowText 因为这将导致 SendMessage 调用 这将阻止我的
  • 向类型类实例添加类约束

    我正在尝试实现康托配对函数 作为 通用 Pair 类型类 如下所示 module Pair Pair CantorPair where Pair interface class Pair p where pi a gt a gt p a k
  • 如何使用 C++ 从 RAM 运行可执行文件?

    如何使用 C 从 RAM 运行可执行文件 可执行文件位于 RAM 中 并且我知道地址 如何从我的程序中调用该程序 这类事情通常来自世界的黑暗角落 结合像metasploit这样的工具 用内存创建进程会很棒 因此一些人尝试重新实现Create
  • 向应用程序小部件发送更新广播

    我有一个带有配置活动的应用程序小部件 我想在单击活动中的 确定 按钮时触发小部件的更新 我写了这段代码 Intent initialUpdateIntent new Intent AppWidgetManager ACTION APPWID
  • 为什么 firefox/chrome 显示的页面与 IE8 不同?

    当我看着 我看到最新版本 with Firefox and Chrome 但是一个旧版本 with IE8 另外 通过屏幕抓取PHP Curl给我一个旧版本 我试过了CTRL 刷新在 IE8 中 但我无法让它向我显示最新版本 无论heade
  • 警告:格式字符串不是字符串文字[重复]

    这个问题在这里已经有答案了 我从以下行收到 格式字符串不是字符串文字 警告 NSString formattedString NSString alloc initWithFormat format arguments valist 我在以
  • 从 Delphi 7 中的 C++ DLL 接收字符串数组

    我正在用 C 创建一个 DLL 它将在 Delphi 7 项目中使用 这个问题与this one https codereview stackexchange com questions 43347 produce an array of
  • 尝试从列表中删除对象时迭代期间的并发修改

    我试图在多个列表中循环 最后比较它们的名称 如果它们不匹配 则将其从列表中删除 但我收到此错误 迭代期间并发修改 虽然我已经复制了原始列表只是为了避免这个错误 但仍然得到它 我尝试的是 globals filteredPollsList p