我正在使用Flutter和Dart构建Workout Tracker应用程序。在跟踪页面上,列出了练习和完成的图标的列表,单击它们后,其颜色会更改(以表明您已完成设置)。图标状态在文件中本地更改。
所以问题是当我向下滚动时,上部项目会恢复为原始状态。长话短说,我不希望按需重新渲染图标并保存它们的状态,直到我想要。
尝试过AutomaticKeepAliveStateMixin,但似乎无法正常工作。我是编码方面的新手,所以也许我实现错误。
class _ExerciseInputState extends State<ExerciseInput>
with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true;
@override
Widget build(BuildContext context) {
super.build(context);
var deviceSize = MediaQuery.of(context).size;
return ListView.builder(
itemCount: widget.loadedRoutine.exercises.length,
itemBuilder: (BuildContext context, int i) {
return buildExerciseContainer(
widget.loadedRoutine.exercises[i].title,
widget.loadedRoutine.exercises[i].sets,
widget.loadedRoutine.exercises[i].reps,
deviceSize,
context);
},
);
}
}
没有错误消息。