Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android java循环中的firestore查询_Java_Android_Arrays_Firebase_Google Cloud Firestore - Fatal编程技术网

android java循环中的firestore查询

android java循环中的firestore查询,java,android,arrays,firebase,google-cloud-firestore,Java,Android,Arrays,Firebase,Google Cloud Firestore,我不熟悉java。我有一个firestore\u会员名单。在firestore成员列表中,它包含以下值:[“steve”、“ram”、“kam”]。我使用for循环逐个传递值 loadingbar.show() for( int k=0; k<firestore_member_list.size();k++){ String member_name = firestore_member_list.get(k); final DocumentReference

我不熟悉
java
。我有一个
firestore\u会员名单
。在firestore成员列表中,它包含以下值:
[“steve”、“ram”、“kam”]
。我使用
for
循环逐个传递值

loadingbar.show()
for( int k=0; k<firestore_member_list.size();k++){
        String member_name = firestore_member_list.get(k);
        final DocumentReference memDataNameCol = firestoredb.collection("member_collection").document(member_name);
        memDataNameCol.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
        @Override
        public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                if (task.isSuccessful()) {
                DocumentSnapshot document = task.getResult();
                if (document.exists()) {
//                      In here, I am retreiveing the document data from firestore and assigning it to the ArrayList which is `all_mem_data`

                        all_mem_data.add(document.get("member_name").toString());
                        all_mem_data.add(document.get("member_address").toString());
                        Toast.makeText(getActivity(), "all mem data array"+all_mem_data.toString(),
                                Toast.LENGTH_LONG).show();
                }
                }
        }
        });
}
Log.d("all_mem_data",all_mem_data)
loadingbar.hide()
loadingbar.show()

对于(int k=0;k任何需要数据库数据的代码,都需要在数据可用时触发的
onComplete

如果要等待所有文档加载完毕,例如,您可以保留一个计数器:

loadingbar.show()
int completeCount = 0;
for( int k=0; k<firestore_member_list.size();k++){
    String member_name = firestore_member_list.get(k);
    final DocumentReference memDataNameCol = firestoredb.collection("member_collection").document(member_name);
    memDataNameCol.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
        @Override
        public void onComplete(@NonNull Task<DocumentSnapshot> task) {
            ...

            if (completeCount++ == firestore_member_list.size()-1) {
                Log.d("all_mem_data",all_mem_data)
                loadingbar.hide()
            }
        }
    });

}
loadingbar.show()
int completeCount=0;
对于(int k=0;k