首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >正在尝试停止计时器,但计时器未停止

正在尝试停止计时器,但计时器未停止
EN

Stack Overflow用户
提问于 2021-04-06 17:48:37
回答 1查看 47关注 0票数 1

正如你在图像部分看到的,我打印了我传递给函数1的任何值]1这是我用来计时器的代码片段。我将这个函数作为布尔值传递,当我需要启动计时器时,传递true值,这个条件工作得很好。但当此函数接收到false值时,计时器不会停止。我也尝试了一些其他的逻辑,但仍然不起作用。

请告诉我我哪里错了?

代码语言:javascript
代码运行次数:0
运行
复制
Timer _timer;
    
    
      startTimer(value) {
        print("Recording values...........$value");
        const oneSec = const Duration(seconds: 1);
        _timer = new Timer.periodic(
          oneSec,
          (Timer timer) {
            if (mounted && value == true) {
              setState(() {
                seconds = seconds + 1;
              });
            } else if (mounted && value == false){
              setState(() {
                _timer.cancel();
              });
            }
          },
        );
      }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-06 19:07:32

代码语言:javascript
代码运行次数:0
运行
复制
 startTimer(value) {
    print("Recording values...........$value");
    const oneSec = const Duration(seconds: 1);
    if (_timer != null && !value) _timer.cancel();
    _timer = Timer.periodic(
      oneSec,
      (Timer timer) {
        if (mounted && value) {
          setState(() {
            seconds++;
          });
        }
      },
    );
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66966337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档