Фильтровать список поиска, когда элемент недоступен в Firestore - PullRequest
0 голосов
/ 08 ноября 2019

Мне добавили панель поиска, когда я хочу ввести данные, данные которых недоступны в firestore, тогда TextView noDocumentAvailable видим, а когда я хочу ввести данные, данные доступны в firestore, тогда TextView Gone.

Код:

private void searchDocument(String search) {
    collectionReference.orderBy("documentName").startAt(search).endAt(search + '\uf8ff').get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                documentsList.clear();

                if (task.getResult().size() < 0) { // not working for me
                    noDocumentAvailable.setVisibility(View.VISIBLE);
                } else {
                    for (DocumentSnapshot documentSnapshot : task.getResult()) {
                        Documents documents = documentSnapshot.toObject(Documents.class);
                        documentsList.add(documents);
                        documentListAdapter.notifyDataSetChanged();
                    }
                }
            }
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Toast.makeText(StartCounting.this, "Error : " + e.getMessage(), Toast.LENGTH_LONG).show();
        }
    });
}

1 Ответ

1 голос
/ 08 ноября 2019

Изменить эту строку

if (task.getResult().size() < 0) {

на

if (task.getResult().size() < 1) {

или

if (task.getResult().size() == 0) {

Размер списка не может быть меньше нуля

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