Я пытаюсь заполнить текстовое поле строкой, хранящейся в общих настройках, но я не понимаю, как это сделать.
Случай: 1 - я вхожу в систему на первом экране. 2 - имя пользователя сохраняется в общих настройках. 3 - Затем второй экран вызывается текстовыми полями. 4 - Поле имени пользователя должно быть заполнено сохраненным пользователем.
Вот как я сохраняю имя пользователя на первом экране:
final prefs = await SharedPreferences.getInstance();
final key = 'user';
final value = loggedUser;
prefs.setString(key, value);
print('saved $value');
А вот функция, которую я использую на втором экране, чтобы получить имя пользователя:
static _read() async {
final prefs = await SharedPreferences.getInstance();
final key = 'user';
final value = prefs.getString(key);
print('saved $value');
String usu = value;
}
Я могу загрузить имя пользователя на втором экране, но я не могу поместить его в текстовое поле, как я могу это сделать?
У меня есть попробовал небольшую модификацию функции (ниже) и они передали функцию текстовому контроллеру, но это не сработало, я думаю, это не правильный путь.
static _read() async {
final prefs = await SharedPreferences.getInstance();
final key = 'usuario';
final value = prefs.getString(key);
print('saved $value');
String usu = value;
return usu; //the modification
}
контроллер:
final _pecasController = TextEditingController(text: _read());