在我返回我的值之前,我首先尝试获取所有数据...但我无法在互联网上找到有关firebaseoperation的完成处理程序的信息。
有人可以帮忙吗?
我目前的实施效果不佳....
public List<ExampleClass> GetAllExamples() {
Query examplequery = db.child("example");
exampleList = new ArrayList<ExampleClass>();
examplequery.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String value = getValue(dataSnapshot.getValue().toString());
String key = dataSnapshot.getKey();
ExampleClass ex = new Country(key, value);
exampleList.add(ex);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
return exampleList;
}
答案 0 :(得分:1)
在弗兰克的帮助下,我找到了一个合适的解决方案
examplequery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// do something after data is synchronized
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});