从 sharedpreferences 获取数据后不显示数据
Data isn't showen after fetchig it from sharedpreferences
我将数据保存到 sharedpreferences,但是当我获取数据时,它没有显示在屏幕上。我可以在控制台日志中打印正确的数据,但无法在屏幕上显示。
这是变量:
int oldDate = 0;
这是我从 sharedprefs 获取数据的代码:
Future<int> getDataIntTest() async {
final prefs = await SharedPreferences.getInstance();
oldDate = prefs.getInt("oldDate");
setState(() {});
}
这是我的脚手架中我想将其打印到屏幕上的地方:
@override
Widget build(BuildContext context) {
oldDate = formattedDate;
return Scaffold(
body: Center(
child: Column(
children: <Widget>[
Text(
oldDate.toString(),
),
],
),
),
);
}
在我看来,setState 应该更新屏幕并且应该显示新数据。令人困惑的是,我可以在 fatch 后在控制台日志中打印正确的数据,但是无法在屏幕上显示。
我试过了,只需删除 formattedDate
class _MyHomePageState extends State<MyHomePage> {
int oldDate = 0;
Future<int> getDataIntTest() async {
oldDate = 5;
setState(() {});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: <Widget>[
InkWell(
onTap: (){
getDataIntTest();
},
child: Text(
oldDate.toString(),
),
),
],
),
),
);
}
}
我将数据保存到 sharedpreferences,但是当我获取数据时,它没有显示在屏幕上。我可以在控制台日志中打印正确的数据,但无法在屏幕上显示。
这是变量:
int oldDate = 0;
这是我从 sharedprefs 获取数据的代码:
Future<int> getDataIntTest() async {
final prefs = await SharedPreferences.getInstance();
oldDate = prefs.getInt("oldDate");
setState(() {});
}
这是我的脚手架中我想将其打印到屏幕上的地方:
@override
Widget build(BuildContext context) {
oldDate = formattedDate;
return Scaffold(
body: Center(
child: Column(
children: <Widget>[
Text(
oldDate.toString(),
),
],
),
),
);
}
在我看来,setState 应该更新屏幕并且应该显示新数据。令人困惑的是,我可以在 fatch 后在控制台日志中打印正确的数据,但是无法在屏幕上显示。
我试过了,只需删除 formattedDate
class _MyHomePageState extends State<MyHomePage> {
int oldDate = 0;
Future<int> getDataIntTest() async {
oldDate = 5;
setState(() {});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: <Widget>[
InkWell(
onTap: (){
getDataIntTest();
},
child: Text(
oldDate.toString(),
),
),
],
),
),
);
}
}