0
Future<void> loadFavorite() async{
    SharedPreferences prefs = await SharedPreferences.getInstance();
    setState((){
      FavoriteButtons = (prefs.getStringList("favorite4") ?? <bool>[]).map((value) => value == 'true').toList();
    });
  }

如上,使用 shared 在本地存储 bool 列表。

但是,如果您按上述方式创建代码,则在您首次连接时,列表将为空并带有 []。(因为您还没有在 prefs.getStringList("favorite4") 中保存任何内容)

我在这里收到错误,因为我必须使用 FavoriteButtons[1]。我找到了解决这个问题的方法。那只是使用空检查错误使您的代码仅在第一次运行中途停止。经测试,使用该应用程序没有问题。但是不知道以后在部署或者实际使用中会不会出现问题。

E/flutter (13880): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Null check operator used on a null value
4

0 回答 0