Ниже приведен мой код:
Первая функция вызывает Firebase, чтобы получить пользователей в пуле:
Код: Выделить всё
private void getPlayerCount() {
playerInPoolQuery = playerInPoolReference.child(poolIf).orderByValue().equalTo(true);
readPlayerCountData(playerInPoolQuery, new PicksActivity.AllPicksPlayerCountCallback() {
@Override
public void onSuccess(DataSnapshot dataSnapshot) {
int playerIndex = 0;
// Determine the number of players in the pool
numPlayersInPool = (int) dataSnapshot.getChildrenCount();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
String userId = snapshot.getKey();
setPlayerUsername(userId, playerIndex);
playerIndex = playerIndex + 1;
}
}
});
}
Код: Выделить всё
private void setPlayerUsername(final String userId, final int playerIndex) {
userQuery = userReference.child(userId).child("username");
readPlayerUsernameData(userQuery, new SurvivorAllPicksActivity.AllPicksPlayerUsernameCallback() {
@Override
public void onSuccess(DataSnapshot dataSnapshot) {
String username = (String) dataSnapshot.getValue();
AllPicks player = new AllPicks(username);
playerList.add(player);
for (int i = 1; i
Подробнее здесь: [url]https://stackoverflow.com/questions/79010804/issue-with-firebase-realtime-database-race-condition-with-android-java[/url]