Flutter学习APP故障:答错Flipchart重复功能无法正常实现
排查答错题目列表(wrongQuestions)失效问题
1. 确认列表初始化与状态管理
- 检查
wrongQuestions是否在合适的位置初始化(比如State类的成员变量,或使用Provider/Cubit等状态管理时的初始状态),确保不会随页面重建被重置为空列表。 - 如果当前用的是无状态组件,列表数据会随组件重建丢失,必须改用有状态组件或全局状态管理(比如Provider、Riverpod)存储
wrongQuestions。
2. 验证答错题目添加逻辑
- 检查标记错题的触发代码,确认用户点击“错误”按钮时,是否正确执行
wrongQuestions.add(当前Flipchart对象),且没有被其他逻辑意外清空。 - 确保添加的是完整的Flipchart对象,若对象为可变类型,避免后续修改影响已存入列表的内容。
3. 页面跳转时的状态传递
- 从Flipchart页面跳转到概览页(Auswertung)时,确认
wrongQuestions是否通过构造函数参数正确传递,或通过状态管理工具全局访问。 - 导航跳转时避免创建新的空列表实例,示例代码:
Navigator.push( context, MaterialPageRoute( builder: (context) => Auswertung(wrongQuestions: wrongQuestions), // 传递现有列表 ), );
4. 概览页接收与使用列表
- 在Auswertung类中,检查是否正确接收传入的
wrongQuestions,示例代码:class Auswertung extends StatelessWidget { final List<Flipchart> wrongQuestions; const Auswertung({super.key, required this.wrongQuestions}); // ... } - 渲染重复练习按钮时,确认绑定的数据源是
wrongQuestions,而非空列表或其他错误数据。
5. 测试与调试建议
- 在添加错题的代码处加入
print(wrongQuestions.length),每次标记错误后打印列表长度,确认数据是否成功添加。 - 使用Flutter DevTools的Inspector查看状态变量,跟踪
wrongQuestions的变化,定位数据丢失的节点。
内容的提问来源于stack exchange,提问作者LEGACY
相关产品推荐
相关产品推荐

