Вот мой код:
import 'package:cached_network_image/cached_network_image.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:fluttershare/models/user.dart';
import 'package:fluttershare/pages/activity_feed.dart';
import 'package:fluttershare/pages/home.dart';
import 'package:fluttershare/pages/profile.dart';
import 'package:fluttershare/pages/search.dart';
import 'package:fluttershare/pages/uploadpages.dart/followers.dart';
import 'package:fluttershare/widgets/progress.dart';
class FollowingList extends StatefulWidget {
String profileId;
String currentUserId;
FollowingList({this.profileId, this.currentUserId});
@override
_FollowersListState createState() => _FollowersListState();
}
class _FollowersListState extends State<FollowingList> {
List<String>followingList = [];
List<UserResult> following = [];
List<User> users = [];
final String currentUserId = currentUser?.id;
bool isLoading = false;
bool isFollowing = false;
int followerCount = 0;
int followingCount = 0;
User user;
int count;
int listcount;
@override
void initState() {
super.initState();
setState(() {
followingList = [];
users = [];
});
checkIfFollowing();
getFollowing();
buildFollowing();
}
checkIfFollowing() async {
DocumentSnapshot doc = await followersRef
.document(widget.profileId)
.collection('userFollowers')
.document(currentUserId)
.get();
setState(() {
isFollowing = doc.exists;
});
}
getFollowing() async {
QuerySnapshot snapshot = await followingRef
.document(widget.profileId)
.collection('userFollowing')
.getDocuments();
setState(() {
followingList = snapshot.documents.map((doc) => doc.documentID).toList();
followingList.forEach((element) async {
print(followingList.length);
DocumentSnapshot doc = await usersRef.document(element).get();
User user = User.fromDocument(doc);
users.add(user);
print(user.username);
});
});
}
buildFollowing() async {
QuerySnapshot snapshot = await followingRef
.document(widget.profileId)
.collection('userFollowing')
.getDocuments();
List<UserResult> following =
snapshot.documents.map((doc) => UserResult.fromDocument(doc)).toList();
setState(() {
this.following = following;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.teal,
title: Text(
'Followers',
style: TextStyle(
fontFamily: "Signatra",
fontSize: 45.0,
color: Colors.white,
),
),
),
body: ListView(children: following)
);
}
}
По какой-то странной причине он показывает мои карты пользователей, которые у меня есть, после того, как я их сохраню.