flutter 参数类型“object”不能分配给参数类型String

tquggr8v  于 2023-02-20  发布在  Flutter
关注(0)|答案(3)|浏览(180)

学习工作与Map...不能访问指定的元素?什么是问题。请给予我一些链接阅读或观看工作与Map在flutter。

mcdcgff0

mcdcgff01#

您是否尝试过添加as String
questions[_questionIndex]['questionText'] as String

izj3ouym

izj3ouym2#

您的类Question需要构造函数中的字符串参数。
questions[_questionIndex]['questionText'] as String可以解决此问题。
更干净的解决方案是将questions变量定义为List<Map<String, dynamic>> questions,或者甚至为question创建一个单独的模型以避免双重索引。

class QuestionModel {
  String questionText;
  List<String> answers;

  QuestionModel({required this.questionText, required this.answers});
}

并将问题定义为

List<QuestionModel> questions = [
  QuestionModel(
    questionText: "What is your favourite color?",
    answers: ["Red", "Green", "Blue", "Yellow"],
  ),
  ...
];

从列表中访问问题:

questions[_questionIndex].questionText
wdebmtf2

wdebmtf23#

questions[_questionIndex]['questionText'].toString();

相关问题