2016-04-07 9 views
0

Betrachtet man das folgende Codebeispiel:Wie erhalte ich das übergeordnete Element in Firebase, wenn das Ereignis onChildAdded ausgelöst wird?

// Get a reference to our posts 
Firebase ref = new Firebase("https://docs-examples.firebaseio.com/web/saving-data/fireblog/posts"); 
ref.addChildEventListener(new ChildEventListener() { 
// Retrieve new posts as they are added to the database 
@Override 
public void onChildAdded(DataSnapshot snapshot, String previousChildKey) { 
    BlogPost newPost = snapshot.getValue(BlogPost.class); 
    System.out.println("Author: " + newPost.getAuthor()); 
    System.out.println("Title: " + newPost.getTitle()); 
} 
//... ChildEventListener also defines onChildChanged, onChildRemoved, 
// onChildMoved and onCanceled, covered in later sections. 
}); 

Ist es möglich, DataSnapshot übergeordnetes Element in Firebase wenn onChildAdded ausgelöst zu bekommen?

Antwort

2

Da Sie nur das Kind abgerufen haben, enthält DataSnapshot nicht die Daten für das übergeordnete Element. Aber es ist leicht zugänglich unter ref.

public void onChildAdded(DataSnapshot snapshot, String previousChildKey) { 
    ref.addListenerForSingleValueEvent(new ValueEventListener() { 
    public void onDataChange(DataSnapshot parent) { 
     System.out.println("Got parent"); 
    } 
    ... 
    }); 
} 
Verwandte Themen