我正在尝试将时间选择器添加到我的flutter应用程序中。我正在尝试将时间格式化为12小时制。但是问题是当我尝试传递时间变量进行格式设置时,会出现这样的错误消息。
错误:参数类型'Future'无法分配给参数类型'TimeOfDay'。
到目前为止,这就是我这样做的方式。
DateTime _currentDate = new DateTime.now();
TimeOfDay _currentTime = new TimeOfDay.now();
Future <Null> selectedTime;
String timeText = 'Set A Time';
@override
Widget build(BuildContext context) {
/// Time Picker
MaterialLocalizations localizations = MaterialLocalizations.of(context);
String formattedTime = localizations.formatTimeOfDay(selectedTime, <--Here i am getting error
alwaysUse24HourFormat: false);
if (formattedTime != null) {
setState(() {
timeText = formattedTime;
});
}
时间选择器小工具
TimePicker(
icon: Icons.access_time,
selectedTime: '$timeText',
onPress: () {
selectedTime = showTimePicker(
context: context,
initialTime: _currentTime,
);
},
),
有什么办法解决这个问题。
答案 0 :(得分:0)
您的selectedTime
必须是TimeOfDay
而不是Future<Null>
答案 1 :(得分:0)
将android
更改为selectedTime
类型,将TimeOfDay
更改为onPress
函数,然后将async
更改为{ {1}}代替await showTimePicker
:
Future