Как навсегда сохранить выбранное время в TimePicker Flutter

#flutter #sharedpreferences #timepicker

#flutter #общие предпочтения #timepicker

Вопрос:

Я попытался сохранить выбранное время навсегда, используя общие настройки внутри future asynchronous с помощью set string и get string внутри load_reftime(). Также в общих настройках я добавляю выбранное время в заданную строку с помощью .tostring() и добавляю TimeOfDay .из DateTime(DateTime.parse(prefs.getString(_time))); с помощью DateTime.parse, чтобы убедиться, что выбранное время сохраняется и загружается постоянно к моменту перезапуска моего приложения-эмулятора. Но результат тот же.

Установка времени
Результат

Мне нужен совет и решение, чтобы сохранить выбранное время в SharedPreferences и изменить его только тогда, когда я решу изменить Спасибо.

1-й код

2 - й код

3 - й код

Для кода: https://drive.google.com/file/d/1BYftWqgBGc7K-ggo1iwrcCwbohAotuS3/view?usp=sharing

Комментарии:

1. пожалуйста, поделитесь кодом, который вы сохраняете после, а затем получите время, используя общие настройки

2. Код находится в изображении ссылки 1-й код, 2-й код и 3-й код. Спасибо

3. упомяните, имя переменной для сохранения — selectedTime или selectedClock?

4. Оба. Ссылка на код находится в моем вопросе

5. каждый раз, когда TimeOfDay selectedTime = TimeOfDay.now(); TimeOfDay selectedClock = TimeOfDay.now(); инициализируйте с помощью TimeOfDay.now , так что вы обязательно получите из общих настроек

Ответ №1:

При сохранении в Sharedpreferences сохраните его следующим образом:

 preferences.setString('time', DateTime(
  DateTime.now().year,
  DateTime.now().month,
  DateTime.now().day,
  endTime!.hour, // TimeOfDay
  endTime!.minute, //TimeOfDay
).toString());
 

И для получения,

  time = TimeOfDay.fromDateTime(
      DateTime.parse(preferences.getString('time')!));
 

Это должно это исправить!