我正在嘗試從 Firebase 獲取城市列表并在微調(diào)器中顯示。但是我在下面收到以下錯(cuò)誤:com.google.firebase.database.DatabaseException:無法將 java.lang.String 類型的對(duì)象轉(zhuǎn)換為 Models.FirebaseCityModel 類型數(shù)據(jù)庫結(jié)構(gòu):下面是我的代碼: 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(); } });有人請(qǐng)讓我知道我做錯(cuò)了什么。任何幫助,將不勝感激。
2 回答

MYYA
TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
代碼中的問題很可能是正在進(jìn)行額外的.child()
調(diào)用。所以要解決這個(gè)問題,請(qǐng)更改以下代碼行:
FirebaseCityModel areaName = areaSnapshot.child("city").getValue(FirebaseCityModel.class);
到
FirebaseCityModel areaName = areaSnapshot.getValue(FirebaseCityModel.class);

心有法竹
TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
在內(nèi)部onDataChange()
將您的代碼更改為 -
FirebaseCityModel areaName = areaSnapshot.getValue(FirebaseCityModel.class);
添加回答
舉報(bào)
0/150
提交
取消