flutter答题卡中点击试题按钮根据索引跳转对应的试题页面
时间: 2023-08-02 11:06:37 浏览: 204
要实现在答题卡中点击试题按钮后跳转到对应的试题页面,可以使用Flutter中的导航(Navigation)机制来实现。
首先,在答题卡页面的每个试题项上添加一个按钮,例如:
```dart
ListView.builder(
itemCount: questions.length,
itemBuilder: (context, index) {
var question = questions[index];
return Column(
children: [
Text(question['question']),
SizedBox(height: 10),
ElevatedButton(
child: Text('查看试题'),
onPressed: () {
// 跳转到对应的试题页面
Navigator.push(
context,
MaterialPageRoute(builder: (context) => QuestionPage(index: index)),
);
},
),
Divider(),
],
);
},
)
```
在上述代码中,当点击"查看试题"按钮时,会调用`onPressed`回调函数。在该函数中,通过`Navigator.push`方法进行页面跳转。
接下来,创建一个名为`QuestionPage`的新页面,用于显示对应索引的试题内容。在该页面中,可以根据索引获取对应的试题数据,并将其显示出来。
```dart
class QuestionPage extends StatelessWidget {
final int index;
QuestionPage({required this.index});
@override
Widget build(BuildContext context) {
var question = questions[index];
return Scaffold(
appBar: AppBar(
title: Text('Question ${index + 1}'),
),
body: Center(
child: Column(
children: [
Text(question['question']),
SizedBox(height: 10),
// Display options and handle user selection
// ...
],
),
),
);
}
}
```
在上述代码中,`QuestionPage`是一个StatelessWidget,它接收一个表示试题索引的参数`index`。在`build`方法中,根据索引获取相应的试题数据,并将其显示在页面中。
这样,当点击答题卡中的试题按钮时,会跳转到对应的试题页面,并显示该试题的内容。你可以根据需要继续完善试题页面的逻辑,例如处理选项的选择和提交答案等。
阅读全文