0

I am trying to get all keys under a Value and generate a popup for them. But I don't get how. I tried a lot of "for" statements but could not figure it out. My code at the moment:

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

This is my database:

enter image description here

PradyumanDixit
  • 2,372
  • 2
  • 12
  • 20
  • If you are interested, **[this](https://stackoverflow.com/questions/49383687/how-can-i-retrieve-data-from-firebase-to-my-adapter/49384849)** is a recommended way in which you can retrieve data from a Firebase Realtime database and display it in a `RecyclerView` using `FirebaseRecyclerAdapter`. – Alex Mamo Nov 27 '18 at 10:54

1 Answers1

0

try this:

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) {

                }
            });
uzaysan
  • 583
  • 1
  • 4
  • 18