【问题标题】:How to store the data from the DatePicker in Flutter如何在 Flutter 中存储来自 DatePicker 的数据
【发布时间】:2020-02-09 13:16:11
【问题描述】:

我如何存储用户设置的日期,以便每次他/她打开应用程序时,选择的日期都保留在那里,并且每次都不会刷新到初始日期。此外,我如何将我拥有的数据从假设的 Screen1.dart 传输到 Screen2.dart

Future<Null> _selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
    context: context,
    initialDate: selectedDate,
    firstDate: DateTime(2015, 8),
    lastDate: DateTime(2101));
if (picked != null && picked != selectedDate)
  setState(() {
    selectedDate = picked;
  });
}

数据为selectedDate。转移是指在其他地方使用这个给定的数据来找出两个选定日期之间的差异。

【问题讨论】:

    标签: android datetime flutter dart store


    【解决方案1】:

    您可以使用共享偏好来实现这一点,这里有一个与您的情况类似的示例:

    How to save dateformat with sharedpref in flutter?

    保存:prefs.setString('dateTimeLastClicked', currentTime);

    正在加载:reftime_string = prefs.getString('dateTimeLastClicked');

    【讨论】:

    • 但是如果假设我的代码在另一个 .dart 文件中,并且结构有点复杂,我该如何保存它。例如:` Text("${selectedDate.toLocal()}"), SizedBox(height: 20.0,), RaisedButton( onPressed: () => _selectDate(context), child: Text('Select date'),`我希望将代码解析到这个计算文件中:final date1 = DateTime(2000, 10, 12); final date2 = DateTime.now(); final difference = date2.difference(date1).inDays;
    • 选择日期后,您将其保存在 Screen1.dart 中的共享首选项中,然后在 Screen2.dart 中您可以访问共享首选项并获取您之前保存的内容
    • 我明白了,所以即使用户根据pub.dev/packages/shared_preferences 关闭应用程序权限,共享首选项也不会改变。谢谢:)
    • 如何初始化它?我尝试在 shared_pref 上尝试示例,但我不断收到错误哈哈
    • 检查我在回答中分享的链接问题的代码,您需要执行以下操作:SharedPreferences prefs = await SharedPreferences.getInstance();
    猜你喜欢
    • 2022-01-02
    • 2021-06-22
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2019-05-05
    相关资源
    最近更新 更多