【问题标题】:Value from shared preferences isen't updatingsharedpreferences 中的值未更新
【发布时间】:2021-02-02 18:20:05
【问题描述】:

我有一个从共享偏好中获取数据的函数。我在一个单独的文件中有这个函数,其中只有这个函数。该函数通过按下按钮调用。共享首选项中的数据应打印在命令提示符中。问题是当我只按一次按钮时,值为0。当我按下按钮第二次时,该值是预期值。

这是我调用函数的代码:

RaisedButton(
   child: Text("Get Data"),
   onPressed: () {
     setState(() {
        getDataString();
     });
     print(dayStatistic);
   },
  ),

这是我获取数据的代码:

Future<String> getDataString() async {
  final prefs = await SharedPreferences.getInstance();
  dayStatistic =
      prefs.getStringList('dayStatistic').map((i) => int.parse(i)).toList();
}

【问题讨论】:

    标签: flutter dart save sharedpreferences


    【解决方案1】:

    我修复了您的代码的一些问题。试试这个。

    RaisedButton(
       child: Text("Get Data"),
       onPressed: () async {
         final val = await getDataString();
         setState(() {
            dayStatistic = val;
         });
         print(val);
       },
      ),
    
    Future<List> getDataString() async {
        final prefs = await SharedPreferences.getInstance();
        final dayStatistic =
            prefs.getStringList('dayStatistic').map((i) => int.parse(i)).toList();
        return dayStatistic;
      }
    

    【讨论】:

      猜你喜欢
      • 2012-04-28
      • 1970-01-01
      • 2012-09-19
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多