Не понимаю, как выполнить действие для каждого ключа в базе данных Firebase в реальном времени - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь получить все ключи в поле Value и создать для них всплывающее окно.Но я не понимаю, как.Я перепробовал много «за» заявлений, но не смог понять.Мой код на данный момент:

    final FirebaseDatabase database = FirebaseDatabase.getInstance();
        final DatabaseReference myRef = database.getReference("Anzeigen");



        // Read from the database
        myRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                for (DataSnapshot childSnapshot:dataSnapshot.getChildren())


 {


        RecyclerView recyclerView = findViewById(R.id.anzeigen_list);
        final List<generater> mList = new ArrayList<>();
        RecyclerView.Adapter adapter = new generater_anzeigen_setter(this,mList);
        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));

        mList.add(new generater(Name , Was , Preis));



    }    
                }





    }
                @Override
                public void onCancelled(DatabaseError error) {
                    // Failed to read value
                    Log.w(TAG, "Failed to read value.", error.toException());
                }
            });

Это моя база данных:

enter image description here

1 Ответ

0 голосов
/ 26 ноября 2018

попробуйте это:

myRef.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                    final List<generater> mList = new ArrayList<>();
                    for(DataSnapshot ds:dataSnapshot.getChildren()){
                        String name,was,preis;

                        for(DataSnapshot childSnapShot:ds.getChildren()){
                            if(childSnapShot.getKey().equals("Name")){
                                name=childSnapShot.getValue().toString();
                            }
                            if(childSnapShot.getKey().equals("Was")){
                                was=childSnapShot.getValue().toString();
                            }
                            if(childSnapShot.getKey().equals("Preis")){
                                preis=childSnapShot.getValue().toString();
                            }

                        }
                        generater generater = new generater(name , was , preis);
                        mList.add(generater);
                    }
                    RecyclerView recyclerView = findViewById(R.id.anzeigen_list);
                    final List<generater> mList = new ArrayList<>();
                    RecyclerView.Adapter adapter = new generater_anzeigen_setter(this,mList);
                    recyclerView.setAdapter(adapter);
                    recyclerView.setLayoutManager(new LinearLayoutManager(this));
                }

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

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