Это мой фрагмент кода:
static DateTime chosenDate = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd – kk:mm').format(chosenDate);
DateTime picked;
Future<Null> _selectDate(BuildContext context) async {
DateTime picked = await showDatePicker(
context: context,
initialDate: chosenDate,
firstDate: DateTime(2015, 8),
lastDate: DateTime(2101));
if (picked != null && picked != chosenDate)
setState(() {
chosenDate = picked;
});
}
Как я могу гарантировать, что selectedDate может использоваться где-то еще, например, как действие, которое отображает selectedDate вне указанной области. Я объявил его в файле main.dart следующим образом DateTime chosenDate;
, но когда я использую его на другом экране со следующими утверждениями, значение возвращается как нулевое с сообщением об ошибке, говорящим, что получатель 'year' не найдени, следовательно, возвращается ноль:
class _FinalPageState extends State<FinalPage> {
@override
Widget build(BuildContext context) {
return Container(
child: Text("$formattedDate"),
);
}
}
Где formattedDate равен String formattedDate = DateFormat('yyyy-MM-dd – kk:mm').format(chosenDate);
Также у кого-нибудь есть идеи, как сохранить это значение, чтобы при каждом перезапуске приложения оно не потерялось