为什么我的addOnSuccesListener无法正常工作?

时间:2019-05-02 23:07:47

标签: java android firebase google-cloud-firestore

我试图让除我自己之外的任何具有“喜欢”或“不喜欢”作为字符串值的用户,但是我的代码只是跳到函数的末尾而不执行内部代码。我必须改变什么?我在另一个项目中进行了测试,并且工作正常,我只是使用该功能进行了复制和粘贴,但现在无法正常工作。

对不起,我的英语不好,我是巴西人。

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();
            }
        });
    }

getDocuments()函数应该返回一个包含我的用户的documentSnapshot的列表,如果它等于“ like”,如果不是,则返回“ []”作为空列表,但是我从uConnectID变量,所以我一步一步调试了它,发现它停止在“ query.get()。addOnSuccessListener ...”处,并直接跳到该函数的末尾。

1 个答案:

答案 0 :(得分:0)

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

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