问题描述
大家 我在共享首选项中保存了列表。 由于List无法保存在共享首选项中,因此以json类型保存。 我参考了stackover上的帖子。 但是,在读取存储在首选项中的值时,返回了 null。 请帮忙。
import 'package:Flutter/cupertino.dart';
import 'package:Flutter/material.dart';
import 'package:real_lotto/lotto_number.dart';
class displayNumber extends StatefulWidget {
@override
_displayNumberState createState() => _displayNumberState();
}
class _displayNumberState extends State<displayNumber> {
String _number = '';
//initState called when the widget is mounted
void initState() {
super.initState();
if (_number == '') {
loadLotto().then((String s) => setState((() {
_number = s;
print(s);
})));
}
}
@override
Widget build(BuildContext context) {
print(_number);
return Scaffold();
}
}
Future<void> _saveLotto(number) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('key',json.encode(number));
}
Future<String> loadLotto() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var number = json.decode(prefs.getString('key'));
return (number);
}
List<dynamic> myNumber() {
var number = [];
number.add((List.generate(45,(index) => ++index)..shuffle()).sublist(0,6));
number.add((List.generate(45,6));
for (var i = 0; i < number.length; i++) {
number[i].sort();
}
_saveLotto(number);
return number;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)