How to get a String List from Firebase to fill a Spinner

后端 未结 1 2004
青春惊慌失措
青春惊慌失措 2020-12-04 22:43

my database is arranged like this:

I want to get all the values from areaName as a String List or any form of list and use it to populate a

相关标签:
1条回答
  • 2020-12-04 23:20

    I didn't test that code but, more or less, that is what you have to do:

    fDatabaseRoot.child("areas").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // Is better to use a List, because you don't know the size 
            // of the iterator returned by dataSnapshot.getChildren() to
            // initialize the array
            final List<String> areas = new ArrayList<String>();
    
            for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) {
                String areaName = areaSnapshot.child("areaName").getValue(String.class);
                areas.add(areaName);
            }
    
            Spinner areaSpinner = (Spinner) findViewById(R.id.spinner);
            ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(UAdminActivity.this, android.R.layout.simple_spinner_item, areas);
            areasAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            areaSpinner.setAdapter(areasAdapter);
        }
    
        @Override
        public void onCancelled(DatabaseError databaseError) {
    
        }
    });
    

    I hope it's helps!

    Regards.

    0 讨论(0)
提交回复
热议问题