Как исправить ошибку выхода массива за пределы — Исключение за пределы

#android #firebase-realtime-database

#Android #firebase-база данных в реальном времени

Вопрос:

Как исправить ошибку выхода массива за пределы — Исключение за пределы

Комментарии:

1. Вы путаете создание экземпляра и добавление. Список инициализирован, но в нем нет никаких элементов. Если вы не понимаете проблему, представьте, что выбираете один элемент из кучи из 0 элементов. Происходит сбой holdItems , и на данный момент он, вероятно, еще не получил данные.

2. Привет, Зои, спасибо за ваш ответ, да, извиняюсь, я имел в виду добавление вместо создания экземпляра, я знаю, что данные не поступают в holdItems, проблема у меня в том, что я не уверен, что мне нужно изменить, чтобы holdItems получал данные из базы данных, чтобы они заполняли список массивов и не вызывали исключение out of bounds.

3. Я не знаком с Firebase, поэтому я не совсем уверен, но у вас, вероятно, проблема с потоком. Прокомментируйте вызов holdItems и проверьте, получаете ли вы элементы вообще. Если вы этого не сделаете, это ваша главная проблема. Если вы это сделаете, это состояние гонки между инициализацией и holdItems вызовом, и в этом случае вам нужно отложить вызов

4. Да, я могу успешно получить элементы, используя журнал, я пробовал это до публикации проблемы, я ранее пробовал перемещать код, чтобы разрешить гонку между инициализациями, вот где я теряюсь, потому что я не могу понять, как отложить инициализацию.

5. Вы пытались переместить логику в вашем holdItems методе внутри прослушивателя, это работает таким образом? Пожалуйста, ответьте с помощью @AlexMamo