如何知道 Firebase 列表是否无效?
How know if a Firebase list is void?
我按照文档使用 ChildEventListener。在数据加载期间,我只是在列表视图中显示一个可绘制的进度
- 如果列表不为空,那么我hide/null进度视图。
如果列表为空,我显示"no item"
// 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.
});
使用 ref.addValueEventListener
我们只需检查 datasnapshot
是否为 null 即可知道。
如何知道列表无效?可能吗 ?没有先检查 addValueEventListener
?
只有附加一个ValueEventListener才能知道列表中没有item。
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if (!snapshot.hasChildren()) {
System.out.println("List is empty");
}
}
@Override
public void onCancelled(FirebaseError error) {
}
}
但请记住,通常如果您调用 addChildEventListener()
,您最终会将项目存储在某些内部存储器中,例如 List
。您还可以简单地检查该内部存储是否为空(在触发 onChildRemoved()
之后)并在那里打印消息。
我按照文档使用 ChildEventListener。在数据加载期间,我只是在列表视图中显示一个可绘制的进度
- 如果列表不为空,那么我hide/null进度视图。
如果列表为空,我显示"no item"
// 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. });
使用 ref.addValueEventListener
我们只需检查 datasnapshot
是否为 null 即可知道。
如何知道列表无效?可能吗 ?没有先检查 addValueEventListener
?
只有附加一个ValueEventListener才能知道列表中没有item。
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if (!snapshot.hasChildren()) {
System.out.println("List is empty");
}
}
@Override
public void onCancelled(FirebaseError error) {
}
}
但请记住,通常如果您调用 addChildEventListener()
,您最终会将项目存储在某些内部存储器中,例如 List
。您还可以简单地检查该内部存储是否为空(在触发 onChildRemoved()
之后)并在那里打印消息。