Получение имени ребенка, а также значения в базе данных Firebase - PullRequest
0 голосов
/ 11 июня 2018

В моей базе данных Firebase у меня есть данные, выложенные так:

paidRecord[
    John Smith: UNPAID
    Bill Smith: PAID
    Mary Smith: UNPAID
]

Я пытаюсь создать строку в своем приложении, которая будет отображать платный статус всех людей.На данный момент все, что у меня есть, это строка, которая отображает «UNPAID PAID UNPAID», но мне нужно также отобразить имена пользователей.

Вот функция:

private void checkPaidStatus(){

    paidString = "";


    FirebaseDatabase.getInstance().getReference("Flats").child(flatID).child("Bills").child(itemSelected).child("paidRecord").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            if(dataSnapshot != null){
                Iterator<DataSnapshot> iterable = dataSnapshot.getChildren().iterator();

                //this is the bit that needs to be changed to return properly xd good luck
                for (Iterator<DataSnapshot> it = iterable; it.hasNext();){

                    DataSnapshot dataSnapshot1 = it.next();
                    paidString = paidString + "new" + dataSnapshot1.getValue(String.class);
                    textViewPaidStatus.setText(paidString);

                }

            }

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });


}

Итак, есть ли способ в базе данных Firebase возвращать не только значение, назначенное ключу, но и сам ключ?

1 Ответ

0 голосов
/ 11 июня 2018

На самом деле, ваш ключ также доступен в вашем sub-DataSnapshot, просто вам нужно получить, как показано ниже

DataSnapshot dataSnapshot1 = it.next();
paidString = paidString + "new" + dataSnapshot1.getValue(String.class);
textViewPaidStatus.setText(paidString);
String mStrkey=dataSnapshot1.getKey()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...