在颤动中映射列表
Posted
技术标签:
【中文标题】在颤动中映射列表【英文标题】:Mapping a list in flutter 【发布时间】:2022-01-06 15:20:38 【问题描述】:我尝试将问题列表映射到小部件,但当我运行应用程序时它不断返回错误,但代码中没有错误警告。请有人帮我检测这里做错了什么。
...(questions[_questionIndex]['answer'] as List<String>).map((answer)
return Answer(_answerQuestion, answer);
).toList(),
从上面的代码中,我调用了一个索引为 _questionIndex 的问题列表,该索引由所有问题的长度生成,然后访问一个名为“answer”的键。请列表是问题和答案的地图列表。
这是我在应用程序中的错误:
════════ Exception caught by widgets library ═══════════════════════════════════
The following _CastError was thrown building MyApp(dirty, state: _MyAppState#38d02):
type 'Null' is not a subtype of type 'List<String>' in type cast
【问题讨论】:
可以添加questions[_questionIndex]['answer']
的样本数据吗?
"代码中没有错误警告" ... 不会出现任何静态分析错误,因为您通过执行显式 as List<String>
强制转换显式抑制了它们。当你这样做时,你是在告诉分析器和编译器信任你。
【参考方案1】:
questions[_questionIndex]['answer']
包含一个空值,并且您将其转换为不可为空的List<String>
。要么确保迭代不包含任何 null
值,要么将您的转换更改为 List<String?>
以允许空值。
【讨论】:
questions[_questionIndex]['answer'] 实际上包含一个答案列表,并且肯定不是 null,dart 说它的 null 让我感到困惑。 将您的演员表更改为List<String?>
并尝试一下。否则,您需要提供一些示例数据以便我查看。
感谢您的所有贡献。当我从地图中调用值时,我发现错误是一个错字。【参考方案2】:
感谢您的所有贡献。当我从 Map 中调用值时,我发现错误是拼写错误。
【讨论】:
以上是关于在颤动中映射列表的主要内容,如果未能解决你的问题,请参考以下文章