import 'package:flutter/material.dart';
import './question.dart';
import './answer.dart';
void main() {
runApp(MyFirstApp());
}
class MyFirstApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _MyFirstAppState();
}
}
class _MyFirstAppState extends State<MyFirstApp> {
var _questionIndex = 0;
void _ansButtonPress() {
setState(() {
_questionIndex = _questionIndex 1;
});
}
var questions = [
{
'questionText': 'What is your favorate Colour',
'answers': ['red', 'balck ', 'yellow', 'blue']
},
{
'questionText': 'What is your favorate Animal',
"answers": ['Lion', 'Chettah ', 'Leopard', 'Cat']
},
{
'questionText': 'What is your favorate Movie',
'answers': ['hai', 'hello ', 'hoe', 'are you']
}
];
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My first app '),
),
body: Column(
children: [
Question(
questions[_questionIndex]['questionText'],
),
Answer(_ansButtonPress),
Answer(_ansButtonPress),
Answer(_ansButtonPress),
],
),
),
);
}
}
第 49 行中的錯誤 ![ib/main.dart:49:24: 錯誤:未為類“Set<Map<String, Object>>”定義運算子“[]”](https://img.uj5u.com/2021/12/07/26dceaa02c2b46d6bd9d722f7ea19578.png)
終端顯示這樣
lib/main.dart:49:24: 錯誤:未為類“Set<Map<String, Object>>”定義運算子“[]”。- 'Set' 來自 'dart:core'。-“地圖”來自“飛鏢:核心”。- “物件”來自“dart:core”。嘗試將運算子更正為現有運算子,或定義“[]”運算子。問題[_questionIndex]['questionText'], ^ 打包/Users/j3rry01/Documents/Flutter Lab/flutter basics /new_flutter 失敗。命令 PhaseScriptExecution 因非零退出代碼而失敗 注:使用新構建系統 注:規劃注:構建準備完成 注:并行構建目標警告:簽名和功能的功能可能無法正常運行,因為其權利使用占位符團隊 ID。為了解決這個問題,在 Runner 編輯器中選擇一個開發團隊。(在專案“Runner”的目標“Runner”中)
我是初學者,不太擅長飛鏢概念,我的 POV 上沒有看到任何錯誤
uj5u.com熱心網友回復:
從錯誤訊息看來,該questions變數被視為 aSet而不是 a List。嘗試像這樣顯式設定它的型別:
List<Map<String, dynamic>> questions = [
{
'questionText': 'What is your favorate Colour',
'answers': ['red', 'balck ', 'yellow', 'blue']
},
{
'questionText': 'What is your favorate Animal',
"answers": ['Lion', 'Chettah ', 'Leopard', 'Cat']
},
{
'questionText': 'What is your favorate Movie',
'answers': ['hai', 'hello ', 'hoe', 'are you']
}
];
此外,如果您不打算更改questions變數的值,最好將其宣告為final
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/374335.html
