我有一个返回布尔值的方法,在这个方法中有一个返回void的子方法。如何在子方法中使用父方法的局部变量,然后将此变量返回父方法?
@Override
public boolean seConnecter( Utilisateur utilisateur) {
boolean ok=false;
db.collection("UTILISATEUR")
.whereEqualTo("email", utilisateur.getEmail())
.whereEqualTo("password",utilisateur.getPassword())
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
if (!task.getResult().isEmpty()) {
//I want to use ok there
Log.d(TAG, "Utilisateur trouvé: ");
} else {
Log.e(TAG, "Utilisateur non trouvé ");
}
} else {
Log.e(TAG, "Erreur: ", task.getException());
}
}
});
return ok;
}
我在之后尝试过,但是它也不起作用
public class TraitementUtilisateur implements IUtilisateur<Utilisateur> {
private boolean res;
private boolean result;
...//Getters and setters there
@Override
public boolean seConnecter( Utilisateur utilisateur) {
...
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
if (!task.getResult().isEmpty()) {
setRes(true);
..
} else {
setRes(false);
...
}
} else {
setRes(false);
...
}
}
});
setResult(getRes());
return getResult();
}