当我点击升起的按钮时,时间 Select 器出现了.例如,如果我等待5秒钟,然后确认时间,就会出现以下错误:
我确实在控制台中看到了Flatter是如何更新父窗口小部件的,但为什么呢?我什么都没做-我就等5秒钟?!
[UPDATE]
我又看了一眼,发现它正在从我的TabBar
和TabBarView
的关卡更新.
它会不会跟我在TabBarView
上需要的"with TickerProviderStateMixin"有什么关系呢?会不会是它导致应用程序定期和随机刷新?
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();
}
);
}
}