Android 数据共享参考问题-颤振
当我从SharedReferences获取数据时,它不会显示在字符串中,并在这一行accountName: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
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
中写入它。它是下划线的抱歉,我错了,所有内容都有帮助,非常感谢!)感谢您的帮助)如果它解决了您的问题,请不要忘记单击“向上/向下投票”按钮下方左侧的复选标记接受答案。