Получить данные из базы данных с определенной позиции - PullRequest
0 голосов
/ 20 апреля 2019

Хи, я пишу приложение, которое должно получать конкретные данные из firebase, используя позицию элемента в listView. Моя проблема в том, что я понятия не имею, как взять этот предмет на базу огня.

enter image description here

Для всех детей Торнео я должен контролировать все имя Создателя. Я пробовал это:

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;
    }

Данные - это класс с некоторыми созданными мной методами получения и установки. position - позиция элемента в представлении списка.

Спасибо за ответы.

1 Ответ

2 голосов
/ 20 апреля 2019

Измените следующее:

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

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