gpt4 book ai didi

Flutter - 如何在加载共享首选项时暂停应用程序?

转载 作者:行者123 更新时间:2023-12-03 02:50:28 24 4
gpt4 key购买 nike

我使用从 InitState() 调用的方法,其中使用等待加载 SP。但是 Widget 在 SP 加载之前正在构建并且有空 SP 值。

void getSP() async {
var prefs = await SharedPreferences.getInstance();
_todoItems = prefs.getStringList("key") ?? _todoItems;
}

完整代码:https://pastebin.com/EnxfKgPH

最佳答案

有很多选项,我喜欢的一个是像这样使用 bool 变量

bool isLoaded = false;

@override
void initState() {
getSP();
super.initState();
}

void getSP() async {
var prefs = await SharedPreferences.getInstance();
_todoItems = prefs.getStringList("key") ?? _todoItems;
setState(() => isLoaded = true);
}

然后检查它以确定构建树是否应该加载,就像这样..

@override
Widget build(BuildContext context) {
return !isLoaded ? CircularProgressIndicator() : Scaffold(...);
}

关于Flutter - 如何在加载共享首选项时暂停应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59950191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com