Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Timer 如何使计时器停止抖动?_Timer_Flutter - Fatal编程技术网

Timer 如何使计时器停止抖动?

Timer 如何使计时器停止抖动?,timer,flutter,Timer,Flutter,我在flutter中创建了一个计时器,一切正常。现在我不知道如何在启动计时器后关闭它。 文档中说你可以通过调用void cancel()来取消它,但我不理解它的实现 我该怎么称呼它呢? 这是正确的方法吗 static const timeout = const Duration(seconds: 5); static const ms = const Duration(milliseconds: 1); startTimeout([int milliseconds]) {

我在flutter中创建了一个计时器,一切正常。现在我不知道如何在启动计时器后关闭它。
文档中说你可以通过调用
void cancel()
来取消它,但我不理解它的实现

我该怎么称呼它呢?
这是正确的方法吗

  static const timeout = const Duration(seconds: 5);
  static const ms = const Duration(milliseconds: 1);

  startTimeout([int milliseconds]) {
    var duration = milliseconds == null ? timeout : ms * milliseconds;
    return new Timer(duration, handleTimeout);
  }

  void handleTimeout() {  // callback function
    Navigator.of(context).pushAndRemoveUntil(new MaterialPageRoute(
        builder: (BuildContext context) => new ScorePage(quiz.score, quiz.length)),(Route route) => route == null);
    return;
  }

只要保留一个时间参考,当你不再需要它时就取消它

var timer = startTimeout(100);
...
timer.cancel();

现在它说“上下文”不能从与计时器问题无关的静态方法访问。您可能在
上下文
不可用或不可用的地方调用
handleTimeout
,但您的问题不包含该代码。@GünterZöchbauer脱机时我需要取消计时器,联机后我需要启动计时器。。有可能吗?@GünterZöchbauer完整的问题和代码