Flutter 颤振:计时器无法使用计时器结束上一个会话。取消()?
当我调用timer.cancel()时,时钟停止工作。但是,当回拨以启动新会话时,我发现旧会话中的_变量仍然从自身开始计数,并与新会话并行 请帮忙Flutter 颤振:计时器无法使用计时器结束上一个会话。取消()?,flutter,timer,Flutter,Timer,当我调用timer.cancel()时,时钟停止工作。但是,当回拨以启动新会话时,我发现旧会话中的_变量仍然从自身开始计数,并与新会话并行 请帮忙 startTime(60); 计时器。取消();#成功了。 定时器=空; 开始时间(60);#但当回忆起来。它与2个会话一起工作。(新旧) //调用timer.cancel()_变量在40停止。 //使用2个会话(40)和(60)调用startTime()变量计数 开始时间(重置){ int _=重置; const oneSec=const持续时间(
startTime(60);
计时器。取消();#成功了。
定时器=空;
开始时间(60);#但当回忆起来。它与2个会话一起工作。(新旧)
//调用timer.cancel()_变量在40停止。
//使用2个会话(40)和(60)调用startTime()变量计数
开始时间(重置){
int _=重置;
const oneSec=const持续时间(秒:1);
定时器=定时器。周期性(
一秒,
(计时器)=>设置状态(
() {
如果(_<1){
timer.cancel();
//由我负责
}否则{
_u=_-1;
if(_如果计时器不为空,则取消计时器。下面的代码已测试
void startTime(reset) {
int _u = reset;
const oneSec = const Duration(seconds: 1);
if (timer != null) {
timer.cancel();
}
timer = Timer.periodic(oneSec, (Timer t) {
if (_u < 1) {
t.cancel();
// call my handle
} else {
_u = _u - 1;
print(_u);
if (_u < 0) {
t?.cancel();
}
}
});
}
void startTime(重置){
int _=重置;
const oneSec=const持续时间(秒:1);
如果(计时器!=null){
timer.cancel();
}
定时器=定时器周期(一秒,(定时器t){
如果(_<1){
t、 取消();
//由我负责
}否则{
_u=_-1;
印刷品;
如果(_<0){
t?.cancel();
}
}
});
}
这对我没用。就我而言,我想关闭上一个会话。(计时器取消,停止倒计时)。
void startTime(reset) {
int _u = reset;
const oneSec = const Duration(seconds: 1);
if (timer != null) {
timer.cancel();
}
timer = Timer.periodic(oneSec, (Timer t) {
if (_u < 1) {
t.cancel();
// call my handle
} else {
_u = _u - 1;
print(_u);
if (_u < 0) {
t?.cancel();
}
}
});
}