我有个问题.我有几个纽扣.我想如果用户点击一个按钮,标签应该显示10秒.现在我有了下面的问题.正如我所说的,我有几个按钮.
如果用户点击button1
,则isTagActive == True
应设置为10秒.
这对我很管用.
但问题是,如果用户点击button1
,而在2秒button2
之后,isTagActive == True
也只显示10秒.但定时器应在button2
设置后从新开始.所以计时器从第一个按钮开始计时,但是应该从最后一个按钮开始计时.我怎么才能改变这一切呢?
因此,如果用户单击一个按钮,计时器应该从头开始.
代码
void processClick() async {
setState(() {
number++;
});
changeActiveStatus();
...
}
// This is the method
Future<void> changeActiveStatus() async {
isTagActive = true;
if(mounted) {
setState(() {});
}
await Future.delayed(const Duration(seconds: 10), () {
isTagActive = false;
if(mounted) {
setState(() {});
}
});
}