我试图让除我自己之外的任何具有“喜欢”或“不喜欢”作为字符串值的用户,但是我的代码只是跳到函数的末尾而不执行内部代码。我必须改变什么?我在另一个项目中进行了测试,并且工作正常,我只是使用该功能进行了复制和粘贴,但现在无法正常工作。
对不起,我的英语不好,我是巴西人。
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 ...”处,并直接跳到该函数的末尾。
答案 0 :(得分:0)
使用addOnCompleteListener
并检查query.get()
是否成功完成。
您的代码中有onSuccessListener
,只有在调用成功后才会触发。