Проблема с данными общих настроек - Flutter - PullRequest
0 голосов
/ 09 февраля 2019

Когда я беру данные из SharedPreferences, они не отображаются в строке и выдают ошибку в этой строке accountName: Text(sharedPreferenceEmail), по ошибке показывает, что sharedPreferenceEmail = null

SharedPreferences sharedPreferences;
  String sharedPreferenceEmail;
  String value;

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

  getDataPreference() async {
    sharedPreferences = await SharedPreferences.getInstance();
    setState(() {
      value = sharedPreferences.getString("email");
      if(value != null) {
        sharedPreferenceEmail = sharedPreferences.getString("email");
      } else {
        sharedPreferenceEmail = "Sign in with Google";
      }
    });
  }

UserAccountsDrawerHeader(
                decoration: BoxDecoration(color: Colors.blueGrey[900]),
                accountName: Text(
                  sharedPreferenceEmail
                  ),

введите описание изображения здесь

1 Ответ

0 голосов
/ 09 февраля 2019

Если вы получаете значение с помощью асинхронного выполнения, вам нужно снова защититься null, чтобы не вызывать исключение при сборке Flutter, пока результат еще не получен:

accountName: sharedPreferenceEmail != null ? Text( sharedPreferenceEmail ) : Container(),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...