问题描述
我正在学习教程,但现在由于无法调用键值而陷入困境。
这是我的 main.dart 脚本:
import 'package:flutter/material.dart';
import 'package:first_app/question.dart';
import './answer.dart';
void main() {
runApp(MyApps());
}
class MyApps extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return MyAppsState();
}
}
class MyAppsState extends State<MyApps> {
int indexQuestion = 0;
void answerQuestion() {
setState(() {
indexQuestion += 1;
});
if (indexQuestion > 1) {
indexQuestion = 1;
}
print('add index by 1');
}
void resetIndex() {
setState(() {
indexQuestion = 0;
});
print('Reset to 0');
}
var a = 'as';
Widget build(BuildContext context) {
var questions = [
{
'questionText': 'What\'s your favorite animal?','answers': ['cat','dog','elephant','fish'],},{
'questionText': 'What\'s your favorite color?','answers': ['red','green','blue','black'],{
'questionText': 'Who\'s your favorite actor?','answers': ['D\'Caprio','Tony Hawk','Scarlet','J-Low'],];
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('My First App Yo!'),),body: Column(
children: [
// ========================ERROR HERE========================
Question(
questions[indexQuestion]['questionText'],//===========================================================
Text('indexQuestion = $indexQuestion'),Answer(answerQuestion),RaisedButton(
child: Text('Answer 3'),onPressed: () {
print('Anonymus function is pressed!');
},RaisedButton(
child: Text('Answer 4'),onPressed: answerQuestion,RaisedButton(
child: Text('Reset'),onPressed: resetIndex,Container(
color: Colors.amber,width: 50,height: 50,margin: EdgeInsets.all(10),Center(
child: SetGo(),],)),);
}
}
这是 question.dart 文件,需要在“问题”行中添加参数:
import 'package:flutter/material.dart';
class Question extends StatelessWidget {
final String questionText;
Question(this.questionText);
// Question({String questionTextoption}) {
// questionText = questionTextoption;
// }
@override
Widget build(BuildContext context) {
return Container(
child: Text(
'aaa $questionText',style: TextStyle(fontSize: 28),textAlign: TextAlign.center,maxLines: 1,width: double.infinity,);
}
}
错误在此行:
Question(
questions[indexQuestion]['questionText'],
这是错误:
不能将参数类型“ Object”分配给参数类型“ String”。
该值将在其他文件的其他函数中称为String。 有人可以帮我解决这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)