【发布时间】:2021-04-20 23:10:15
【问题描述】:
我创建了一个 bool 列表:
List<bool> switchbool = [true, true, true, true];
在切换开关时,值会发生变化(非常明显......)。但我想将这些信息完全存储在列表中,因为我是这样使用它们的:
Switch(
value: switchbool[index],
onChanged: (value) {
_saveBoolFromSharedPref(value, app[index]);
setState(() {
switchbool[index] = value;
});
},
)
但是这样它不会加载存储在我保存的 sharedPreferences 中的 true 或 false ...
Future<void> _getBoolFromSharedPref() async {
final prefs = await SharedPreferences.getInstance();
switchbool.length = app.length;
for (var i = 0; i < app.length; i += 1) {
final myBool = prefs.getBool(app[i]) ?? false;
}
} 这是 _saveBoolFromSharedPref
Future<bool> _saveBoolFromSharedPref(bool value, String appName) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(appName, value);
//print(switchbool);
}
任何建议都会很棒,非常感谢! 如果我可以从开关上的 value 字段中检索数据,但我在任何地方都没有看到任何答案......
【问题讨论】:
-
你也可以添加你的 _saveBoolFromSharedPref 方法吗?
-
@zeus 应该没问题吧?
-
检查我的答案@Malopieds。
标签: list flutter sharedpreferences