gpt4 book ai didi

flutter - 如何在 shared_preferences 中创建一个 bool 列表并在那里存储值

转载 作者:行者123 更新时间:2023-12-05 01:56:25 27 4
gpt4 key购买 nike

required this.favorite,

我像这样从上一页得到 bool 值。由于我使用了pageview,所以我想像这样将值存储在索引中以备后用。

  loadFavorite() async{
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
favorite= prefs.getBoolList(_favoriteButton[index])!;
});
}


void delete() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setBool(_favoriteButton[index], false);
setState(() {
favorite= prefs.getBool(_favoriteButton[index])!;
});
}

void saved() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setBool(_favoriteButton[index], true);
setState(() {
favorite= prefs.getBool(_favoriteButton[index])!;
});
}

我在上一页中这样使用上面的代码。这就是为什么我需要一个列表。没有它,我将不得不创建数百个页面。

  void loadFavorite() async{
print(FavoriteButtons[0]);
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
favorite[0] = prefs.getBool(_favoriteButton[0])!;

是否可以从 shared_preferences 创建一个列表?我如何将 bool 存储为列表?

最佳答案

你可以通过这种方式持有 bool 列表:

List<bool> favorite = <bool>[];

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

Future<void> delete() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
favorite[index] = false;
});
await prefs.setStringList("userFavorite", favorite.map((value) => value.toString()).toList());
setState(() {
favorite = (prefs.getStringList("userFavorite") ?? <bool>[]).map((value) => value == 'true').toList();
});
}

Future<void> saved() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
favorite[index] = true;
});
await prefs.setStringList("userFavorite", favorite.map((value) => value.toString()).toList());
setState(() {
favorite = (prefs.getStringList("userFavorite") ?? <bool>[]).map((value) => value == 'true').toList();
});
}

关于flutter - 如何在 shared_preferences 中创建一个 bool 列表并在那里存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69865176/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com