我正在嘗試從 Firebase 獲取城市列表并在微調(diào)器中顯示。但是我在下面收到以下錯誤:com.google.firebase.database.DatabaseException:無法將 java.lang.String 類型的對象轉(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(); } });有人請讓我知道我做錯了什么。任何幫助,將不勝感激。
2 回答

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

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