#android #firebase-realtime-database
#Android #firebase-база данных в реальном времени
Вопрос:
Как исправить ошибку выхода массива за пределы — Исключение за пределы
Комментарии:
1. Вы путаете создание экземпляра и добавление. Список инициализирован, но в нем нет никаких элементов. Если вы не понимаете проблему, представьте, что выбираете один элемент из кучи из 0 элементов. Происходит сбой
holdItems
, и на данный момент он, вероятно, еще не получил данные.2. Привет, Зои, спасибо за ваш ответ, да, извиняюсь, я имел в виду добавление вместо создания экземпляра, я знаю, что данные не поступают в holdItems, проблема у меня в том, что я не уверен, что мне нужно изменить, чтобы holdItems получал данные из базы данных, чтобы они заполняли список массивов и не вызывали исключение out of bounds.
3. Я не знаком с Firebase, поэтому я не совсем уверен, но у вас, вероятно, проблема с потоком. Прокомментируйте вызов
holdItems
и проверьте, получаете ли вы элементы вообще. Если вы этого не сделаете, это ваша главная проблема. Если вы это сделаете, это состояние гонки между инициализацией иholdItems
вызовом, и в этом случае вам нужно отложить вызов4. Да, я могу успешно получить элементы, используя журнал, я пробовал это до публикации проблемы, я ранее пробовал перемещать код, чтобы разрешить гонку между инициализациями, вот где я теряюсь, потому что я не могу понять, как отложить инициализацию.
5. Вы пытались переместить логику в вашем
holdItems
методе внутри прослушивателя, это работает таким образом? Пожалуйста, ответьте с помощью @AlexMamo