我正在尝试获取用户登录时使用的google帐户的用户名,我希望将其显示为无法打印的文本,您可以帮忙吗。这是代码:
FirebaseUser user = await _auth.signInWithGoogle(
idToken: gSA.idToken, accessToken: gSA.accessToken);
print("User Name : ${user.displayName}");
return user;}
和我想在其中输入用户名的部分在这里
new ListTile(
title: new Text("Log In"),
leading: new Icon(Icons.account_box),
onTap: () => _signIn()
.then((FirebaseUser user) => print(user))
.catchError((e) => print(e)),
subtitle: new Text(display username here),
),
答案 0 :(得分:0)
您可以这样做。
设置变量“ 名称 ”,然后使用以下代码。
String name = 'Log In';
final FirebaseAuth _auth = FirebaseAuth.instance;
final GoogleSignIn googleSignIn = new GoogleSignIn();
FirebaseUser _user;
Future<FirebaseUser> _signIn() async {
GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn();
GoogleSignInAuthentication googleSignInAuthentication = await googleSignInAccount.authentication;
FirebaseUser user = await _auth.signInWithGoogle(
idToken: googleSignInAuthentication.idToken,
accessToken: googleSignInAuthentication.accessToken
);
setState(() {
name = user.displayName.toString();
});
return user;
}
使用 setState() 函数可以解决您的问题:)