为了账号安全,请及时绑定邮箱和手机立即绑定

无法从 firebase 获取城市列表

无法从 firebase 获取城市列表

达令说 2023-05-10 15:21:35
我正在尝试从 Firebase 获取城市列表并在微调器中显示。但是我在下面收到以下错误:com.google.firebase.database.DatabaseException:无法将 java.lang.String 类型的对象转换为 Models.FirebaseCityModel 类型数据库结构:下面是我的代码: 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();        }    });有人请让我知道我做错了什么。任何帮助,将不胜感激。
查看完整描述

2 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

代码中的问题很可能是正在进行额外的.child()调用。所以要解决这个问题,请更改以下代码行:

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

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


查看完整回答
反对 回复 2023-05-10
?
心有法竹

TA贡献1866条经验 获得超5个赞

在内部onDataChange()将您的代码更改为 -

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


查看完整回答
反对 回复 2023-05-10
  • 2 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信