在颤动中多次将 json 数据添加到共享首选项
Posted
技术标签:
【中文标题】在颤动中多次将 json 数据添加到共享首选项【英文标题】:adding json data to shared preferences more than once in flutter 【发布时间】:2020-03-23 09:58:46 【问题描述】: RaisedButton(
onPressed: () async
SharedPreferences pref = await SharedPreferences.getInstance();
List<String> item = [
widget.menu.iName.toString(),
widget.menu.iId.toString(),
widget.menu.iCount.toString()
];
List<String> items = [];
if (item != null)
items.addAll(item);
pref.setStringList('products', items);
else
print("there are no items");
,
child: Text("Add"),
),
RaisedButton(
onPressed: () async
List<String> myItems = await SharedPrefLib.listOfProducts();
if (basket != null)
basket.forEach((f)
print(f);
);
else
print("there is nothing");
,
child: Text("show products"),
),
我想在共享偏好中添加多个产品列表,但每次点击添加按钮时,它只会添加一个产品列表,仅此而已。
【问题讨论】:
【参考方案1】:原因是你每次点击凸起按钮时都会重置items
所以items
列表不会保留历史记录item
List<String> items = [];
你必须把这条线移出凸起的按钮
代码sn-p
List<String> items = [];
RaisedButton(
onPressed: () async
SharedPreferences pref = await SharedPreferences.getInstance();
List<String> item = [
widget.menu.iName.toString(),
widget.menu.iId.toString(),
widget.menu.iCount.toString()
];
if (item != null)
items.addAll(item);
pref.setStringList('products', items);
else
print("there are no items");
,
child: Text("Add"),
),
【讨论】:
我试过了,先生,但仍然不能按我的意愿工作,它只是列出了列表中的最后一项 paste.ubuntu.com/p/p2c74KSnCw 这是代码的最后一个版本 这一行列表以上是关于在颤动中多次将 json 数据添加到共享首选项的主要内容,如果未能解决你的问题,请参考以下文章