Firebase / Android: добавление полученных значений из Firebase в arraylist возвращает исключение нулевого указателя

Я пытаюсь добавить полученные значения из базы данных Firebase в Arraylist и оттуда в массив String. Мой метод поиска работает нормально. Я могу распечатать все значения в тосте. Но, видимо, это не добавляется в arraylist.

Вот мой код для поиска в onActivityCreated () класса фрагмента.

ArrayList<String> allBrands = new ArrayList<>();
brandRef=FirebaseDatabase.getInstance().getReferenceFromUrl("https://stockmanager-142503.firebaseio.com/Brands");
        q=brandRef.orderByChild("brandName");
        q.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
               allBrands.add((dataSnapshot.getValue(Brand.class)).getBrandName());
                Toast.makeText(getActivity(),(dataSnapshot.getValue(Brand.class)).getBrandName(), Toast.LENGTH_SHORT).show();

            }

            @Override
            public void onChildChanged(DataSnapshot dataSnapshot, String s) {

            }

            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot) {

            }

            @Override
            public void onChildMoved(DataSnapshot dataSnapshot, String s) {

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

И именно здесь я пытаюсь использовать arrayList в методе OnActivityResult () класса Fragment, но цикл итератора не выполняется, я считаю. Тост не виден. Я получаю исключение нулевого указателя при попытке работать с массивом. Я предполагаю, что значения не копируются в массив брендов.

count=allBrands.size();
                                String[] brands=new String[count];
                                Iterator<String> itemIterator = allBrands.iterator();
                                if(itemIterator.hasNext()){
                                    //brands[i] = itemIterator.next();
                                    Toast.makeText(getActivity(), itemIterator.next(), Toast.LENGTH_SHORT).show();
                                   // i++;

                                }
                               for( i=0;i<count;i++){
                                    if(brands[i].compareTo(Brand)==0){
                                        f=1;break;
                                    }
                                }

Вот моя база данных на случай, если это поможет. Но я могу напечатать все полученные значения в тосте без проблем.

Ответы на вопрос(2)

Ваш ответ на вопрос