【发布时间】:2020-12-09 02:11:50
【问题描述】:
因此,用户可以在日历中选择一天,然后点击 (+) 按钮创建一个事件。然后,它显示 TimePicker 以供用户选择事件开始小时和分钟,在他写下事件名称并且事件显示在日历上方(在事件列表中)之后。但是直到现在我只使用一天,现在我也必须设置小时。
创建事件的方法:
Future<void> _createEvent() async {
return showDialog<void>(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('Write the event name', textAlign: TextAlign.center,
style: TextStyle(color: Colors.black)),
actions: [
Padding(
child: RaisedButton(
child: Text("Save", style: TextStyle(color: Colors.white, fontSize: 20),),
onPressed: (){
if(_eventController.text.isEmpty) return;
if(_myEvents[_calendarDaySelected] != null){
_myEvents[_calendarDaySelected].add(_eventController.text.toString());
_selectedEvents = _myEvents[_calendarDaySelected];
}else{
_myEvents[_calendarDaySelected] = [_eventController.text];
_selectedEvents = _myEvents[_calendarDaySelected];
}
_eventController.clear();
Navigator.pop(context);
setState(() {});
},
),
),
],
);
},
);
}
在这种情况下,我使用的是_myEvents[_calendarDaySelected],所以我想写_myEvents[calendarDaySelected][_time],但它会引发错误:
错误:无法将参数类型“TimeOfDay”分配给参数类型“int”
我怎么能这样做?如果您需要更多代码,我可以在这里发布
【问题讨论】:
标签: flutter datetime dart arraylist calendar