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) { }
});
Und die getData
Funktion sieht wie folgt aus.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);
}
}
Es zeigt
Unfortunate Fehler und Schließen des Programms (App abstürzt)
Wo habe ich falsch gemacht? Unter dem Kundenschlüssel gibt es eine Anzahl von eindeutigen Schlüsseln, die durch Drücken erzeugt werden, ich möchte die inneren Daten (Namen) in ListView
bekommen.
Hier ist mein logcat
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 Punkte, um
p.setName(data.getValue(People.class).getName());
Wenn ich es p.setName(data.getValue().toString);
ändern - seine Arbeits aber es zeigt die zuletzt hinzugefügten Schlüssel mit vollen Kindern und ich möchte bekommen Nur der Name jedes automatisch generierten Schlüssels.
Die Gemeinde diskutierte kürzlich [das Hinzufügen von dringendem Bitten zu Fragen] (http://meta.stackoverflow.com/q/326569/472495) und entschied, dass sie Beiträge ohne solche Anfragen bevorzugt. – halfer
Was ist der Fehler, den Sie bekommen? –
PID: 2906 com.firebase.client.FirebaseException: Fehler beim Springen auf den Typ unter com.firebase.client.DataSnapshot.getValue (DataSnapshot.java:185 unter com.example.ahmedimam.firebase2.MainActivity.getData (MainActivity.java : 151) –