n = ref.child(key).child("customer");
n.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
getData(dataSnapshot);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
getData(dataSnapshot);
}
public void onChildRemoved(DataSnapshot dataSnapshot) { }
public void onChildMoved(DataSnapshot dataSnapshot, String s) { }
public void onCancelled(FirebaseError firebaseError) { }
});
そして、getData
関数は次のようになります。Firebase ListView
private void getData(DataSnapshot ds){
arrayList.clear();
for(DataSnapshot data:ds.getChildren()){
People p = new People();
p.setName(data.getValue(People.class).getName());
arrayList.add(p.getName());
}
if(arrayList.size()>0){
ArrayAdapter a = new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,arrayList);
listview.setAdapter(a);
}
}
それは
私が間違って行くのです不幸なエラーを示すとプログラム(アプリケーションがクラッシュ)
を閉じるのか?顧客キーの下には、プッシュによって生成された多数の一意のキーがあります。ListView
の内部のデータ(名前)を取得したいと考えています。
私はp.setName(data.getValue().toString);
に変更する場合はここに私のlogcat
p.setName(data.getValue(People.class).getName());
に出
PID: 2906 com.firebase.client.FirebaseException: Failed to bounce to type at com.firebase.client.DataSnapshot.getValue(DataSnapshot.java:185 at com.example.ahmedimam.firebase2.MainActivity.getData(MainActivity.java:151)
MainActivity 151ポイントだ - その作業が、それは完全な子供たちと最後に追加されたキーを示しており、私が取得したいです
コミュニティは最近、[緊急の質問の追加](http://meta.stackoverflow.com/q/326569/472495)について議論し、そのような要求がない投稿を好むことに決めました。 – halfer
エラーは何ですか? –
PID:2906 com.firebase.client.FirebaseException:com.firebase.client.DataSnapshot.getValueでタイプ にバウンスできませんでした(DataSnapshot.java:185 com.example.ahmedimam.firebase2.MainActivity.getData(MainActivity.java) :151) –