[英]Can't access individual element from list in dart
我正在嘗試創建一個簡單的測驗應用程序,其中包含一個問題作為Text
小部件和 4 個RaisedButton
小部件作為選項。 這就是我想要創建的:
這是我目前的代碼:
@override
Widget build(BuildContext context) {
return MaterialApp(
home: SafeArea(
child: Scaffold(
appBar: AppBar(
title: Text(
"Flutter Demo Home Page"
),
),
body: Column(
children: [
Question(
questions[questionIndex]["questionText"]
),
Column(
children: getAnswerList()[questionIndex],
)
],
)
),
),
);
}
getAnswerList():
List<List<Answer>> getAnswerList() {
List<List<Answer>> answerList = [[]];
for (Map m in questions) {
List<String> answers = m["answers"];
List<Answer> temp = [];
for (String ans in answers) {
temp.add(
Answer(
answerQuestion,
ans
)
);
}
answerList.add(temp);
}
return answerList;
}
在此函數中,我創建了Answer
小部件的臨時列表,然后將其添加到List<List<Answer>>
。
answerQuestion()
是一種設置更新的questionIndex
:
void answerQuestion() {
setState(() {
questionIndex++;
});
}
回答小部件:
import 'package:flutter/material.dart';
class Answer extends StatelessWidget {
final Function selectHandler;
final String answerText;
Answer(this.selectHandler, this.answerText);
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
child: RaisedButton(
color: Colors.blue,
textColor: Colors.white,
child: Text(
answerText
),
onPressed: selectHandler,
),
);
}
}
該列應包含小部件列表,目前未在代碼中完成將小部件列表分配給 children 屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.