Vérifiez si la requête Firestore est vide

RonTLV:

J'exécution d'une requête pour vérifier une valeur booléenne (isLocked), pour savoir si l'un ou plusieurs des documents sont verrouillés:

final CollectionReference ref = FirebaseFirestore.getInstance().collection( "folders" ).document( user.getUid() ).collection( folder );

Query query = ref.whereEqualTo( "isLocked", true );
query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        boolean b = task.getResult().isEmpty();
        ToastEX.showShort( MainActivity.this, b ? "isLocked=1" : "isLocked=0");
    }
});

Ce retour toujours isLocked = 1 , quel que soit ce qui est sur la base de données.

Comment puis-je obtenir ce travail? Merci beaucoup.

EDIT: Ajout de capture d'écran: entrez la description d'image ici

Alex Mamo:

Lorsque vous remplacez la onComplete()méthode, assurez -vous toujours de vérifier si la tâche est un succès comme dans les lignes de code suivantes:

if (task.isSuccessful()) {
    boolean b = task.getResult().isEmpty();
    ToastEX.showShort( MainActivity.this, b ? "isLocked=1" : "isLocked=0");
}  else {
    Log.d(TAG, "Error getting documents: ", task.getException());
}

Essayez ASLO ne pas oublier de mettre en œuvre la elsepartie pour voir si vous avez un message d'erreur.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=228600&siteId=1
conseillé
Classement