2016-10-06 4 views
0

Я пытаюсь получить posts и uid из базы данных Firebase. Я использую это:Firebase возвращает повторяющиеся значения

mPostReference = FirebaseDatabase.getInstance().getReference() 
      .child("posts"); 
mPostReference.addListenerForSingleValueEvent(
     new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       // Get Post object and use the values to update the UI 

       for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) { 
        String uid = (String) postSnapshot.child("uid").getValue(); 
        String body = (String) postSnapshot.child("body").getValue(); 
        Long num = dataSnapshot.getChildrenCount(); 
        Toast.makeText(getActivity(), body, Toast.LENGTH_SHORT).show(); 
        Toast.makeText(getActivity(), num.toString(), Toast.LENGTH_SHORT).show(); 


       } 
      } 

Я получаю значение num как 3, но данные, которые я получаю дубликат. То же самое происходит с body & uid. Как остановиться на одной итерации?

My Database in firebase

+0

Какие значения вы получаете повторно? – Ryan

+0

Вы говорите: _same body & uid возвращаются снова и снова. Я скопировал и проверил ваш код на идентично структурированные данные. Я не вижу дубликатов. –

+1

Вы включили изображение дерева JSON в свой вопрос. Пожалуйста, замените это на фактический JSON как текст, который вы легко можете получить, нажав кнопку «Экспорт» в консоли базы данных Firebase. Наличие JSON в качестве текста делает его доступным для поиска, позволяет нам легко использовать его для тестирования с вашими фактическими данными и использовать его в нашем ответе, и в целом это просто хорошая вещь. –

ответ

0
Long num = dataSnapshot.getChildrenCount(); 

Перемещение эта строка кода для внешнего контура.

Смежные вопросы