Вы не можете вернуть то, что еще не было загружено.Другими словами, вы не можете просто вернуть первый элемент вашего массива exists[0]
вне метода onDataChange()
, потому что он всегда будет null
из-за асинхронного поведения этого метода.Это означает, что к тому времени, когда вы пытаетесь использовать этот результат вне этого метода, данные еще не закончили загрузку из базы данных, и поэтому они недоступны.
Быстрое решение этой проблемы -используйте exists[0]
только внутри метода onDataChange()
, или если вы хотите использовать его снаружи, я рекомендую вам погрузиться в асинхронный мир и посмотреть последнюю часть моего ответа из этого поста , в котором я объяснил, как это можно сделать с помощью пользовательского обратного вызова.Вы также можете взглянуть на это видео для лучшего понимания.