Flutter:如何在小部件启动时读取首选项?

Flutter:如何在小部件启动时读取首选项?,第1张

Flutter:如何在小部件启动时读取首选项?

我建议不要在initState()上使用异步。但是您可以通过将您的SharedPreferences包装在另一个函数中并将其声明为异步来以不同的方式进行 *** 作。

我已经修改了您的代码。请检查是否可行。非常感谢。

修改后的代码:

class _MyHomePageState extends State<MyHomePage> {  TextEditingController _controller;  String _name;  Future<Null> getSharedPrefs() async {    SharedPreferences prefs = await SharedPreferences.getInstance();    _name = prefs.getString("name");    setState(() {      _controller = new TextEditingController(text: _name);    });  }  @override  void initState() {    super.initState();    _name = "";    getSharedPrefs();    }  @override  Widget build(BuildContext context) {    return new TextField(      decoration: new InputDecoration(        hintText: "Name (optional)",      ),      onChanged: (String str) {        setState(() {          _name = str;          storeName(str);      });    },    controller: _controller,    );  }}

让我知道是否有帮助。谢谢。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5082928.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-16
下一篇2022-11-16

发表评论

登录后才能评论

评论列表(0条)

    保存