Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.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
Java 为什么不是';我的addonSuccessListener不工作吗?_Java_Android_Firebase_Google Cloud Firestore - Fatal编程技术网

Java 为什么不是';我的addonSuccessListener不工作吗?

Java 为什么不是';我的addonSuccessListener不工作吗?,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,除了我自己,我还试图让任何一个拥有“喜欢”或“不喜欢”字符串值的用户,但是我的代码只是跳转到函数的末尾,而没有执行里面的代码。我必须改变什么?我尝试在另一个项目中进行测试,它工作得很好,我只是用这个函数进行了复制和粘贴,现在它不工作了 对不起,我的英语很差,我是巴西人 private void getMyIdEqualLike() { Query query = usersReferenceDb.document(userCardViewID).collection("conne

除了我自己,我还试图让任何一个拥有“喜欢”或“不喜欢”字符串值的用户,但是我的代码只是跳转到函数的末尾,而没有执行里面的代码。我必须改变什么?我尝试在另一个项目中进行测试,它工作得很好,我只是用这个函数进行了复制和粘贴,现在它不工作了

对不起,我的英语很差,我是巴西人

private void getMyIdEqualLike() {
        Query query = usersReferenceDb.document(userCardViewID).collection("connections").whereEqualTo(myUId, "like");
        query.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
            @Override
            public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
                uConnectID = queryDocumentSnapshots.getDocuments().toString();
            }
        });
    }
private void getMyIdEqualLike(){
Query Query=usersrereferencedb.document(usercardwiewid).collection(“连接”).whereEqualTo(myUId,“like”);
query.get().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(QuerySnapshot QueryDocumentSnapshot){
uConnectID=queryDocumentSnapshots.getDocuments().toString();
}
});
}

getDocuments()函数应该返回一个列表,其中包含用户的documentSnapshot,如果它等于“like”,则返回“[]”作为空列表,但我从UConnected变量中得到null,因此我逐步调试了它,发现它停在“query.get().addOnSuccessListener…”然后直接跳到函数的末尾。

使用
addOnCompleteListener
并检查
query.get()
是否成功完成


您的代码有
onSuccessListener
,只有在调用成功时才会触发。

您永远不能进入
onSuccess
,因为它是异步触发的。你必须在那里设置一个断点,看看它是否命中。在这里查看我的答案:您可能还需要添加一个
addOnFailureListener(…)
,以查看它是否显示问题。