【发布时间】:2021-07-18 12:53:21
【问题描述】:
您好,我正在尝试制作一个应用程序,我可以在其中存储用户输入的数据,例如这个。我的任务是使用 SharedPreferences 来存储数据。
我使用 SharedPreferences 将数据保存在列表中
saveData() async {
List<String> itemData = [];
itemData.add(fstcontroller.text);
itemData.add(sndcontroller.text);
itemData.add(trdcontroller.text);
itemData.add(fthcontroller.text);
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setStringList("item", itemData);
}
我有两个问题, 第一个问题:每当我单击“显示购物车”按钮时,它都会显示这个
我不想这样显示,我只想显示“物品品牌”,其余的不会显示。 然后,如果我单击单元格,它将在第三个屏幕中显示项目的完整详细信息。
这是第二屏
class SecondScreen extends StatefulWidget {
@override
State createState() => new DynamicList();
}
class DynamicList extends State<SecondScreen> {
List<String> listItems = [];
@override
void initState() {
super.initState();
getUser();
}
getUser() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var itemData = prefs.getStringList("item");
setState(() {
listItems = itemData;
});
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: listItems.length, itemBuilder: buildList),
)
],
),
);
}
Widget buildList(BuildContext context, int index) {
return Container(
margin: EdgeInsets.all(4),
decoration: BoxDecoration(
border: Border.all(
color: Colors.black,
width: 2,
),
borderRadius: BorderRadius.circular(5)),
child: ListTile(
title: Text(listItems[index]),
),
);
}
}
第二个问题:每当我添加多个数据时,数据不会堆叠。它只替换数据。
【问题讨论】:
标签: flutter dart sharedpreferences