我有一个简单的问题,但我是Flutter的新手。我必须更改3个按钮的颜色,然后等待2秒钟并调用另一个函数。 这是代码:
setState((){
clr[0]= 0==gst ? Colors.green:Colors.red;
clr[1]= 1==gst ? Colors.green:Colors.red;
clr[2]= 2==gst ? Colors.green:Colors.red;
});
sleep(const Duration(seconds:2));
cardKey.currentState.toggleCard(); // second function
问题在于此代码等待2秒钟,然后更改颜色并调用第二个函数...
我还尝试了sleep()
内的setstate()
答案 0 :(得分:0)
您应该使用Future.delayed
来解决问题,因为不建议使用sleep
。确保将函数定义为async
。但是,如果您不想标记为异步(或者该功能不适用于异步),则可以使用以下方法:
Future.delayed(Duration(seconds: 2)).then((_) {
cardKey.currentState.toggleCard(); // second function
});
要了解更多信息,我建议使用this。