my database is structured like this:

I want to get all the values from areaName as a list of strings or any form of a list and use it to populate Spinner. The problem I get is that it only retrieves the last value (in this case, “New York”). This is my actual code:
fDatabaseRoot.child("areas").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) { String areaName = areaSnapshot.child("areaName").getValue(String.class); Spinner areaSpinner = (Spinner) findViewById(R.id.spinner); final String[] areas = {areaName}; 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) { } });
android arrays firebase firebase-database spinner
Alejandro Ardavín
source share