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