Unable to get list of cities from firebase

Digvijay :

I am trying to get list of cities from Firebase and showing in spinner. But I am getting following error below:

com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type Models.FirebaseCityModel

Database structure:

enter image description here

Below is my code:

 dRef.child("Cities").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            List<FirebaseCityModel> cities = new ArrayList<>();

            for(DataSnapshot areaSnapshot:dataSnapshot.getChildren()){
                FirebaseCityModel areaName = areaSnapshot.getValue(FirebaseCityModel.class);
                cities.add(areaName);
            }
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,R.layout.spinner_city,
                    R.id.locaions,list);

            chooseLocation.setAdapter(adapter);
        }

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

            TastyToast.makeText(getApplicationContext(),"Unable to fetch locations",TastyToast.LENGTH_SHORT,TastyToast.ERROR).show();
        }
    });

Someone please let me know what I am doing wrong. Any help would be appreciated.

THANKS

Alex Mamo :

Most likely the problem in code is that are making an extra .child() call. So to solve this, please change the following line of code:

FirebaseCityModel areaName = areaSnapshot.child("city").getValue(FirebaseCityModel.class);

to

FirebaseCityModel areaName = areaSnapshot.getValue(FirebaseCityModel.class);

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=126489&siteId=1