I want to show the list through the firestore database.
First, save data to String a
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
        @Override
        public void onComplete(@NonNull Task<DocumentSnapshot> task) {
            if(task.isSuccessful()){
                DocumentSnapshot document = task.getResult();
                if(document.exists()){
                    a = document.getString("gender");
                }
            }
        }
    });
And onComplete method is asynchronous so I add while and Thread.sleep
while(a==null){
        Thread.sleep(1000);
    }
    EventChangeListener();
Here is a EventChangeListener() function code
firestore.collection("Users")
            //.whereEqualTo("mbti","ENTP")
            //.whereEqualTo("region","충청남도")
            .whereEqualTo("gender",a)
            .orderBy("time",Query.Direction.DESCENDING).limit(50)
            .addSnapshotListener(new EventListener<QuerySnapshot>() {
                @Override
                public void onEvent(@Nullable QuerySnapshot value, @Nullable FirebaseFirestoreException error) {
                    if(error != null){
                        if(progressDialog.isShowing()){
                            progressDialog.dismiss();
                        }
                        Log.e("Firestore error",error.getMessage());
                        return;
                    }
                    for (DocumentChange dc : value.getDocumentChanges()){
                        if (dc.getType() == DocumentChange.Type.ADDED){
                            userArrayList.add(dc.getDocument().toObject(User.class));
                        }
                        myAdapter.notifyDataSetChanged();
                        if(progressDialog.isShowing()){
                            progressDialog.dismiss();
                        }
                    }
                }
            });
I want to repeat the while statement every 100 millisecond so EventChangeListener() function can recognize String a.
I wonder if counting time affects performance.