从特定位置获取firebase的数据

问题描述 投票:0回答:1

Hy,我正在编写一个应用程序,它必须使用listView中项目的位置从firebase获取特定数据。我的问题是我不知道怎么把这个项目放在firebase上。

enter image description here

对于Torneo的所有孩子,我必须控制所有的名字。我试过这个:

public Boolean RegisterUser(Data data, final int position, final Context c){
        boolean registration;
        final ArrayList<String> Creator = new ArrayList<>();



        databaseReference.orderByChild("Tornei").equalTo(Integer.toString(position)).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for(DataSnapshot datas: dataSnapshot.getChildren()){
                   Creator.add(data.child("nameCreator").getValue().toString());
                }
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {
            }
        });
        if(Creator.equals(data.getNameCreator())){
            registration = false;
        }else{
            registration = true;
        }

        return registration;
    }

数据是一个包含我创建的getter和setter的类。 position是列表视图中元素的位置。

谢谢你的回答。

android firebase firebase-realtime-database
1个回答
2
投票

更改以下内容:

databaseReference.orderByChild("Tornei").equalTo(Integer.toString(position)).addListenerForSingleValueEvent(new ValueEventListener() {

进入这个:

databaseReference.child("Tornei").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot datas: dataSnapshot.getChildren()){
               Creator.add(datas.child("nameCreator").getValue().toString());
    if(Creator.equals(data.getNameCreator())){
        registration = false;
    }else{
        registration = true;
    }
            }
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });

然后,您将能够循环并检索nameCreator的值

© www.soinside.com 2019 - 2024. All rights reserved.