类型“String”不是类型转换中“List<String>”类型的子类型?
Posted
技术标签:
【中文标题】类型“String”不是类型转换中“List<String>”类型的子类型?【英文标题】:type 'String' is not a subtype of type 'List<String>' in type cast? 【发布时间】:2021-12-12 04:23:47 【问题描述】:我该如何解决这个问题?我无法运行代码,因为 String 有错误
Text(
questions[_questionsIndex]['questionText'] as String,
style: TextStyle(color: Colors.orange, fontSize: 30),
),
...(questions[_questionsIndex]['questionText'] as List<String>).map((answer)
return Answer(_answerQuestions, answer);
).toList()
【问题讨论】:
【参考方案1】:问题是这样的:
questions[_questionsIndex]['questionText'] as String
questions[_questionsIndex]['questionText'] as List<String>
questions[_questionsIndex]['questionText']
怎么可能同时是 String
和 List<String>
?
我无法确定,因为您没有显示 questions
变量内部的内容,而且我们不知道您想做什么,但您可能想做这样的事情:
...(questions as List<Map<String, dynamic>>).map((question)
return Answer(_answerQuestions, question['questionText']);
).toList()
【讨论】:
添加问题的价值,我可以更轻松地帮助你,我猜不出问题里面的内容【参考方案2】:我决定在 Udemy (flutter) 开设一门在线课程,并显示了这段代码,以通过测验加载问题和答案:
Question(
questions[_questionsIndex]['questionText'],
),
...(questions[_questionsIndex]['questionText'] as List<String>).map((answer)
return Answer(_answerQuestions, answer);
).toList()
但实际上它不起作用。我试图将“作为字符串”放在第一行,但模拟器确实显示错误。所以我尝试了你的版本,但它没有帮助我
【讨论】:
哪一行给你错误??另外,问题变量的值是多少?? questions[_questionsIndex]['questionText'] //此行报错,变量值为 var _questionsIndex = 0; const questions = [ 'questionText': '你最喜欢的颜色是什么?', 'answers': ['Black', 'Red', 'Magenta', 'Orange'] , etc .. 我已将问题从 List 终于成功了,太棒了。我会慢慢看懂的。以上是关于类型“String”不是类型转换中“List<String>”类型的子类型?的主要内容,如果未能解决你的问题,请参考以下文章
未处理的异常:类型“ImmutableMap<String, dynamic>”不是类型转换中“List<dynamic>”类型的子类型
List<dynamic> 类型不是 Map<String dynamic> 类型的子类型
“String”类型不是“List<String>”类型的子类型
Flutter StreamProvider 'List<dynamic>' 不是类型转换中类型 'List<??>' 的子类型