2
在下面的POC中,我们有addChildEventListener
,所有的@Override
方法接受作为第二个参数的“String s”,它是前一个孩子的关键字。为什么ChildEventListener()返回前一个孩子的密钥?
这是否有任何具体原因?我想有一些设计模式,知道前一个孩子的关键是什么让事情变得更容易?
Query recentPostsQuery = mDatabase.child("Posts").limitToFirst(100);
recentPostsQuery.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
Log.d("test", dataSnapshot.getKey());
Log.d("test", dataSnapshot.child("Title").toString());
Log.d("test", s);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我更好奇为什么onChildRemoved _doesn't_提供的关键。 –