2 回答

TA貢獻1873條經驗 獲得超9個贊
問題在于使用dataSnapshot. 你在做什么是,如果你發(fā)現(xiàn)與名稱的子services試圖從當前獲得的數(shù)據(jù)dataSnapshot中Services.class。
您應該做的是,正確設置databaseReference您選擇的孩子。
因此,您可以在if語句中試試這個,而不是您用來檢索的代碼:
String name = dataSnapshot.child("name").getValue(String.class);
String name = dataSnapshot.child("price").getValue(Integer.class);
String name = dataSnapshot.child("rating").getValue(Integer.class);
String name = dataSnapshot.child("totalpoint").getValue(Integer.class);
但是,如果您想在不設置不同getValue()語句的情況下獲取所有值,則可以使用map此方法。這可以幫助您同時更新和檢索數(shù)據(jù)庫中的值。
您可以參考以下鏈接以了解有關FirebaseDatabase使用map.

TA貢獻1805條經驗 獲得超9個贊
要解決這個問題,只需移動以下代碼行:
adapter = new ArrayAdapter<Service>(this, R.layout.service_info,R.id.serviceInfo,list);
就在之前:
ListView.setAdapter(adapter);
當你設置適配器時,你的列表是空的,這就是為什么屏幕是空的。
添加回答
舉報