【发布时间】:2022-01-23 09:18:21
【问题描述】:
即使在我初始化之后也会出现错误:
延迟初始化错误显示名称
这是我设置值的代码:
var displayName=jsondata["username"];
SharedPreferences prefs=await SharedPreferences.getInstance();
prefs.setString('displayName', displayName);
我正在访问数据:
late String displayName;
getData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
displayName=prefs.getString('displayName')?? "0";
}
initState() {
getData();
super.initState();
}
我不知道是什么问题? 但在其他屏幕上它正在工作。
【问题讨论】:
-
我认为如果你把空值放在
displayName中会更好,所以String displayName = "" -
我认为问题在于 getData 完成之前 displayName initState 完成。尝试将默认值添加到 displayName 并删除后期修饰符。此外,添加 .then 并将 state 设置为 displayName。我认为它会起作用。阅读:stackoverflow.com/questions/51901002/…
标签: flutter dart flutter-sharedpreference