永远不会调用FireBase Callback方法

时间:2017-09-27 13:14:01

标签: android firebase firebase-realtime-database

永远不会调用回调方法。我在这里做错了吗?

String FirebaseRefer = Constants.Client+"/"+Constants.firebaseProjects+"/"+Constants.ProjectName+"/xyz";
            final DatabaseReference ref = FirebaseDatabase.getInstance().getReference(FirebaseRefer);

            ref.keepSynced(true);

            ref.child("mockChild").push().setValue("dummyValue", new com.google.firebase.database.ValueEventListener() {

                @Override
                public void onDataChange(com.google.firebase.database.DataSnapshot snapshot) {

//This never gets called.

}

更多信息: - 以下代码用于工作.. 只有在我添加setChild()。push()等之后它才停止工作。

ref.addListenerForSingleValueEvent(new com.google.firebase.database.ValueEventListener() {

            @Override
            public void onDataChange(com.google.firebase.database.DataSnapshot snapshot) {

1 个答案:

答案 0 :(得分:0)

事实证明,我传递给该方法的侦听器对象(匿名)是错误的类。 (令人惊讶的是它并没有向我显示错误)

正确的代码如下所示: -

  ref.child("mockChild").push().setValue("dummyValue", new DatabaseReference.CompletionListener() {

            @Override
            public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {

                ref.addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {