您不能像DougStevenson所说的那样只返回方法的值。你真正想做的是使用回调。例如:
public interface ResultsListener{
public void onResult(User user);
public void onFailed();
}
public void makeFirebaseCall(ResultsListener listener) {
this.fire.database().ref('users/' + firebaseUser.uid)
.on('value', function (snapshot) {
if (snapshot.val()) {
that.user = snapshot.val();
listener.onResult(that.user);
}
});
}
当您调用makeFireBaseCall()时,可以执行以下操作:
makeFirebaseCall(new ResultsListener() {
@override
void onResult(User user) {
// do something with user
}
@override
void onFailed() {
// something failed
}
});
希望这有帮助!