Попытка получить ключ от дочернего значения в базе данных Firebase - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть строка, из которой я пытаюсь получить ключ, чтобы я мог использовать этот ключ, чтобы получить дополнительную ценность в этом месте ключа. Это код моего запроса -

private void xyz()
{
    Query t1 = FirebaseDatabase.getInstance().getReference().child("leaderboard").child(matchnumber).child(conlocation).orderByChild("teamname").equalTo(name1);
    t1.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            String key = dataSnapshot.getKey();
            Toast.makeText(Leaderboard.this, key, Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
}

Это структура данных моей базы данных.

enter image description here

Итак, я пытаюсь получить Ключ 1,2,3,4 Но я получаю Contest1 как ключ.

1 Ответ

0 голосов
/ 20 апреля 2020

Как насчет l oop через детей:

......
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

for(DataSnapshot ds: dataSnapshot.getChildren()){
//this runs for every key
String key = ds.getKey();
Toast.makeText(Leaderboard.this, key, Toast.LENGTH_SHORT).show();
}

}

......

Для комментария:

.........

for(DataSnapshot ds: dataSnapshot.getChildren()){
//this runs for every key
String key = ds.getKey();
sendKey(key);
........


//new method under your private method
public void sendKey(String key){

//do what ever with the key or keys


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...