flutter : строка не передается в «saveName». Я был бы признателен, если бы вы могли сказать мне, как

#sharedpreferences

#sharedpreferences

Вопрос:

     void iniState(SharedPreferences prefs) {
    super.initState();
    _retrieveName(prefs);
  }

  String saveName = '' ;

  Future<void> _retrieveName(SharedPreferences prefs) async {
    final prefs = await SharedPreferences.getInstance();
    if (!prefs.containsKey('name')) {
      return;
    }
    setState(() {
      saveName = prefs.getString('name');
    });
       print(saveName);
  }
 

                    else {
                  _savedName(_usersemail.text);

                  nvState.setState(() {
                    nvState.navip = 1;
                  },
                  );
                }
 

Когда «saveName» хорошо отображается на консоли, а сохранение и извлечение считаются успешными.
Однако он не доставляется в «String saveName». Что я могу сделать?

Я решил это сам. Вы успешно изменили весь свой код по-другому.

Весь код был длинным, поэтому я написал только измененную часть.

Измененный код

   String _id = '';
  String _pw = '';
  SharedPreferences _prefs;
 

   final _usersemail = TextEditingController();
  final _userspass = TextEditingController();
 

   void initState(){
  super.initState();
  _loadID();
  }
 

  _loadID() async{
 _prefs = await SharedPreferences.getInstance();
 setState(() {
 _id = (_prefs.getString('id') ?? '');
 _pw = (_prefs.getString('pw') ?? '');
 print(_id);
 print(_pw);
 });
 }

Widget build(BuildContext context) {
 

 Padding(
padding: EdgeInsets.symmetric(horizontal: 15),
child: TextFormField(
controller: _usersemail,
 

  }
 else {
 _id = _usersemail.text;
 _pw = _userspass.text;
 _prefs.setString('id', _id);
 _prefs.setString('pw', _pw);
 

Комментарии:

1. Можете ли вы уточнить, что вы имеете в виду, когда говорите, что она «не доставлена String saveName «? Как вы проверяете значение saveName ? print Выводит ли оператор что-либо на консоль?

2. Я решил это. Я сделал другой код. Спасибо за проявленный интерес.