Почему мой addOnSuccesListener не работает? - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь получить любого пользователя, который имеет "нравится" или "не нравится" в качестве строкового значения, кроме меня, но мой код просто перепрыгивает в конец функции без выполнения кода внутри. Что я должен изменить? Я пытался протестировать другой проект, и он работал нормально, я просто скопировал и вставил функцию, и теперь она не работает.

Извините за мой плохой английский, я бразилец.

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 голосов
/ 03 мая 2019

Используйте addOnCompleteListener и проверьте, успешно ли завершается query.get().

Ваш код имеет onSuccessListener, который будет срабатывать только в случае успешного вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...