Flutter-滚动到视图外后如何停止ListView.builder的重新呈现

时间:2019-09-05 08:14:58

标签: android ios flutter dart

我正在使用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);
      },
    );
  }
}

没有错误消息。

0 个答案:

没有答案