Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 数据共享参考问题-颤振_Android_Dart_Flutter_Sharedpreferences - Fatal编程技术网

Android 数据共享参考问题-颤振

Android 数据共享参考问题-颤振,android,dart,flutter,sharedpreferences,Android,Dart,Flutter,Sharedpreferences,当我从SharedReferences获取数据时,它不会显示在字符串中,并在这一行accountName:Text(SharedReferenceEmail)中给出一个错误, 错误显示SharedReferenceEmail=null SharedPreferences sharedPreferences; String sharedPreferenceEmail; String value; @override void initState() { super.ini

当我从SharedReferences获取数据时,它不会显示在字符串中,并在这一行accountName:
Text(SharedReferenceEmail)
中给出一个错误, 错误显示SharedReferenceEmail=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
                  ),

如果使用异步执行获取值,则需要保护agains
null
,以避免在结果尚未到达时构建颤振时引发异常:

accountName: sharedPreferenceEmail != null ? Text( sharedPreferenceEmail ) : Container(),

如果使用
accountName:SharedReferenceEmail!=无效的文本(sharedPreferenceEmail):Container(),
?以及在Container()中放置什么?什么都没有,它只是一个占位符,直到共享首选项中的数据可用为止。它是异步的,到达时会有一些延迟,直到那时才会显示一个空的
容器()
。我无法在
accountName
中写入它。它是下划线的抱歉,我错了,所有内容都有帮助,非常感谢!)感谢您的帮助)如果它解决了您的问题,请不要忘记单击“向上/向下投票”按钮下方左侧的复选标记接受答案。