当我点击凸起的按钮时,计时器就会显示出来。现在,如果我等待5秒钟,然后确认时间,这个错误就会发生: 在释放()之后调用 setState ()
我确实在控制台中看到了如何更新父窗口小部件,但是为什么呢?- 我什么都没做-我就等5秒钟? ! 下面的例子将工作在一个正常的项目,但是在我的项目,这是相当复杂的,它不会工作,因为扑动是更新状态,而我在等待... 我做错了什么?有没有人猜一猜,在我的更复杂的项目中,而不是在一个简单的项目中,Flutter 正在随机更新的可能是什么?
我看了第二次,发现它是从我的 TabBar
和 TabBarView
的水平更新。
它可以做一些与“ 使用 ticerProviderStateMixin”,我需要的 TabBarView
?会不会是它导致应用程序定期随机刷新?
class DateTimeButton extends State<DateTimeButtonWidget> {
DateTime selectedDate = new DateTime.now();
Future initTimePicker() async {
final TimeOfDay picked = await showTimePicker(
context: context,
initialTime: new TimeOfDay(hour: selectedDate.hour, minute: selectedDate.minute),
);
if (picked != null) {
setState(() {
selectedDate = new DateTime(selectedDate.year, selectedDate.month, selectedDate.day, picked.hour, picked.minute);
});
}
}
@override
Widget build(BuildContext context) {
return new RaisedButton(
child: new Text("${selectedDate.hour} ${selectedDate.minute}"),
onPressed: () {
initTimePicker();
}
);
}
}