页面推出之后 或者大写R刷新之后 亦或者重新运行
添加到页面上的静态值会一直存在
测试案例
import "package:shared_preferences/shared_preferences.dart";
class ShoppingCartPage extends StatefulWidget{
_ShoppingCartPageState createState() => _ShoppingCartPageState();
}
class _ShoppingCartPageState extends State<ShoppingCartPage>{
List<String> list = [];//显示在页面上的变量
@override
Widget build(BuildContext context) {
_show();
// TODO: implement build
return Container(
color: Colors.white,
child: Column(
children: <Widget>[
Container(
height: 300,
child: ListView.builder(
itemCount: list.length,
itemBuilder: (context,index){
return ListTile(
title: Text("${list[index]}"),
);
}
)
),
RaisedButton(
onPressed: (){
_add();
},
child: Text("add"),
),
RaisedButton(
onPressed: (){
_clear();
},
child: Text("clear"),
)
],
),
);
}
//增加
void _add() async{
SharedPreferences preferences = await SharedPreferences.getInstance();
String tmp = "增加的值";
list.add(tmp);
preferences.setStringList("testList", list);
_show();
}
//显示
void _show() async{
SharedPreferences preferences = await SharedPreferences.getInstance();
if(preferences.getStringList("testList") != null){
setState(() {
list = preferences.getStringList("testList");
});
}
}
//清空
void _clear() async{
SharedPreferences preferences = await SharedPreferences.getInstance();
// preferences.clear();
preferences.remove("testList");
setState(() {
list = [];
});
}
}