#firebase #flutter
#firebase #флаттер
Вопрос:
Как я могу получить изображение профиля текущего (вошедшего в систему) пользователя из Firebase? Как я могу получить доступ к приведенным ниже значениям перед сборкой streamBuilder
, поскольку я хочу показать значок profilepic
в панели приложений?
Вот мой код:
body: StreamBuilder(
stream: mystream,
builder: (context, snapshot) {
if (!snapshot.hasData) {
return CircularProgressIndicator();
}
return ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (c, i) {
DocumentSnapshot email = snapshot.data.documents[i];
return InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (c) => ViewMail(
id: email['id'],
sender: email['sender'],
time: email['time'],
picture: email['picture'],
mail: email['mail'],
subject: email['subject'],
profilepic: email['profilepic'],
username: email['username'],
)));
},
Ответ №1:
Вы можете использовать setState () после получения profilePic из Firebase и использовать его следующим образом:
String profilePic;
AppBar _buildAppBar(BuildContext context) {
return AppBar(
title: profilePic != null ?
Image.network(
profilePic,
) :
Text("Profile pic not found"),
centerTitle: true,
actions: <Widget>[
// some actions.
],
);
}