onBindViewHolder дает мне нулевой ArrayList, потому что данные не закончили загрузку из Firebase - PullRequest
0 голосов
/ 24 февраля 2019

Для RecyclerView мой onBindViewHolder использует setText из ArrayList, в который я загружаю данные, из firebase.Однако для первого вызова onBindViewHolder он дает мне нулевой ArrayList, потому что данные не закончили загрузку.(2-е, 3-е ... и т. Д. Получают значения во времени) Как я могу вызвать onBindViewHolder после того, как мой ArrayList завершил извлечение всех данных?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

попробуйте установить Адаптер после загрузки всех данных в Список.и в getItemCount сделайте это

 @Override
    public int getItemCount() {
        if (list == null)
            return 0;
        return list.size();
    }

это для, если ваш список равен нулю, он возвратит 0 означает, что onBindViewHolder не получит вызов, и он не равен нулю, тогда он вернет размер списка в тот момент, когда ваш onBindViewHolder получитназывается

0 голосов
/ 25 февраля 2019

Попробуйте загрузить данные перед установкой адаптера.В адаптере передайте данные через конструктор.

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