questionModel.question = questionSnapshot.data()["question"];
//无法无条件调用方法"data",因为接收器可以为"null"。尝试使呼叫有条件(使用"?."(
/// shuffling the options
List<String> options = [
questionSnapshot.data()["option1"],
questionSnapshot.data()["option2"],
questionSnapshot.data()["option3"],
questionSnapshot.data()["option4"]
];
options.shuffle();
questionModel.option1 = options[0];
questionModel.option2 = options[1];
questionModel.option3 = options[2];
questionModel.option4 = options[3];
questionModel.correctAnswer = questionSnapshot.data()["correctAnswer"];
questionModel.answered = false;
正如错误消息所说,调用questionSnapshot.data()
可以返回null
,并且不能对此调用进一步的操作。
在处理问题之前,您需要检查data()
方法是否返回null,例如:
var data = questionSnapshot.data();
if (data != null) {
List<String> options = [
data["option1"],
data["option2"],
data["option3"],
data["option4"]
];
options.shuffle();
...