【发布时间】:2021-05-11 18:06:08
【问题描述】:
我正在尝试为我的 web 应用程序创建一个颤振应用程序。数据源是 API。我能够根据需要提取数据并显示。但是,该格式不适用于同一数据源。这是我编写数据的代码。我已经展示了它在移动网络 (chrome) 上的外观以及它在应用程序上的外观。你能问一下为什么选项中的“mm”会在下一行显示相同的数据吗?另外如何在应用程序中复制相同的格式?
class QuestionTile extends StatefulWidget {
final int questionID;
QuestionTile({Key key, this.questionID}) : super(key: key);
@override
_QuestionTileState createState() => _QuestionTileState(questionID);
}
class _QuestionTileState extends State<QuestionTile> {
final int questionID;
String optionSelected = "";
_QuestionTileState(this.questionID);
int _selectedValue;
//int value;
int ind;
@override
Widget build(BuildContext context) {
final QuizProvider quizP = Provider.of<QuizProvider>(context);
print(widget.questionID);
return Container(child: Column(
children:<Widget> [
Padding(
padding: const EdgeInsets.only(left: 10.0, top: 10.0, bottom: 10.0, right: 10.0),
child: Row(
children: [
Expanded(
child: Html(
data: quizP.quizzes[0].getQuestions[widget.questionID].content,
defaultTextStyle: TextStyle(fontSize: 20, color: Colors.black, fontFamily: 'system-ui'),
)
),
],
),
),
quizP.quizzes[0].getQuestions.length == null
? Container(
child: Center(child: Text("Opps , Looks like we don't have any questions"),),
)
: ListView.builder(
itemCount: quizP.quizzes[0].getQuestions[widget.questionID].getanswers.length,
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemBuilder: (context, itemCount) {
return RadioListTile(
value: quizP.quizzes[0].getQuestions[widget.questionID].getanswers[itemCount].id,
groupValue: _selectedValue,
onChanged: (answer){
print(quizP.quizzes[0].getQuestions[widget.questionID].getanswers[itemCount].id);
setState(() {
_selectedValue = answer;
});
},
title: Text("${ quizP.quizzes[0].getQuestions[widget.questionID].getanswers[itemCount].content.toString()}"),
);
},
),
],
),
);
}
}
原始数据:
"id": 5889,
"content": "<p>An oil drop of 12 excess electrons is held stationary under a constant electric field of 2.55 x 10<sup>4</sup>N/C in Millikan’s oil drop experiment. The density of oil is 1.26g/cc, g = 9.81m/s<sup>2</sup> and e = 1.60 x 10<sup>-19</sup>C. The radius of the drop is:</p>\r\n\r\n<p>(A) 9.82mm</p>\r\n\r\n<p>(B) 9.82 x 10<sup>-2</sup> mm</p>\r\n\r\n<p>(C) 9.82 x 10<sup>-4</sup> mm</p>\r\n\r\n<p>(D) 9.82 x 10<sup>-6</sup> mm</p>\r\n<gdiv></gdiv>",
"getanswers": [
{
"id": 16134,
"content": "A",
"correct": false,
"question_id": 5889
},
{
"id": 16135,
"content": "B",
"correct": false,
"question_id": 5889
},
{
"id": 16136,
"content": "C",
"correct": true,
"question_id": 5889
},
{
"id": 16137,
"content": "D",
"correct": false,
"question_id": 5889
}
]
【问题讨论】:
-
您可以将您提供的原始数据输入添加到 Html 小部件吗?我假设您使用的是flutter_html。似乎问题出在插入符号 (^) 上。
-
是的。似乎这就是问题所在。我已经添加了原始数据供您参考。谢谢。
标签: android flutter dart flutter-layout