2017-12-06 3 views
0

Ich habe ein Stück Code unten. Ich weiß nicht, warum der onDataChange nicht ausgelöst werden kann. Daher ist das Objekt singleChildSummary gleich null.Kann nicht auslösen addListenerForSingleValueEvent

>ChildSummary singleChildSummary; 
>DatabaseReference childSummaryRef = getChildDatabaseReference().child(id); 
>  childSummaryRef.addListenerForSingleValueEvent(new ValueEventListener() { 
>     @Override 
>     public void onDataChange(DataSnapshot dataSnapshot) { 
>      singleChildSummary = dataSnapshot.getValue(ChildSummary.class); 
>     } 
>  
>     @Override 
>     public void onCancelled(DatabaseError error) { 
>      // Failed to read value 
>  //    Log.w(TAG, "Failed to read value.", error.toException()); 
>     } 
>    }); 

Antwort

0

Wenn getValue() gibt null "wenn es keine Daten an diesem Ort ist", die API documentation nach.

+0

Ist das in Ordnung, wenn ich dies verwende: singleChildSummary = dataSnapshot.getValue (ChildSummary.class); im Ereignis onDataChange? –

+0

Ich weiß nicht, wie sieht Ihre Datenbankstruktur an dem Ort aus, den Sie gerade hören? Wie sieht ChildSummary aus? Es gibt viele fehlende Teile hier. Alles, was ich Ihnen sagen kann ist, dass Null bedeutet, dass keine Daten am Standort gefunden wurden. –

Verwandte Themen