【发布时间】:2019-02-09 11:52:49
【问题描述】:
当我从 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
),
【问题讨论】:
-
如果你使用
accountName: sharedPreferenceEmail != null ? Text( sharedPreferenceEmail ) : Container(),会发生什么? -
以及在 Container() 中放入什么?
-
没什么,它只是一个占位符,直到共享首选项中的数据可用。它是异步的,并且有一些延迟到达,然后显示一个空的
Container()。 -
我不能用
accountName写下划线 -
对不起,我错了,一切都有帮助,非常感谢!)))
标签: android dart flutter sharedpreferences