颤振错误:参数类型“列表<动态>?”无法分配给参数类型'List<Movie>' [关闭]

Posted

技术标签:

【中文标题】颤振错误:参数类型“列表<动态>?”无法分配给参数类型\'List<Movie>\' [关闭]【英文标题】:Flutter error: The argument type 'List<dynamic>?' can't be assigned to the parameter type 'List<Movie>' [closed]颤振错误:参数类型“列表<动态>?”无法分配给参数类型'List<Movie>' [关闭] 【发布时间】:2021-09-10 08:06:00 【问题描述】:

参数类型“列表?”不能分配给参数类型“列表”。

【问题讨论】:

【参考方案1】:

查看您的代码会很有帮助,这样我就可以提供确切的答案,但正如错误所说,您基本上是在尝试将一个可为空的列表分配给一个需要 Movie 类型元素的 List 变量。

这是因为您将值传递给需要 List 的变量。

由于我手头没有你的代码,这里有一些场景可以说明这一点:

List? a;
List<Movie> b = a;

这基本上会导致您看到的确切错误。

void fooBar(List? a) 
  List<Movie> b = a;

同样的错误。

您需要明确传递到原始 List 字段中的值,无论它来自何处。

因此,您需要确保在上面的示例中,a 是List&lt;Movie&gt;。这种错误经常发生在上面的第二种情况中,在这种情况下,您有一些方法的参数未设置为严格类型(导致动态)并且具有任何值/您将其标记为可为空(导致列表?投诉)。

希望对您有所帮助!如果您需要更明确的帮助,请在您的代码示例中留下评论!

【讨论】:

以上是关于颤振错误:参数类型“列表<动态>?”无法分配给参数类型'List<Movie>' [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

颤振列表错误参数类型'List'不能分配给参数类型'String'

颤振“参数类型不可分配”两种相同类型的错误

迁移空安全后颤振模拟单元测试错误

在颤振中发出 http.get() 请求的问题

颤振无法分配参数类型'List<dynamic>'

参数类型“Widget Function(Categoria)”不能分配给参数类型“dynamic Function(Child)”。 (型号)颤振