Firebase中的runTransaction(com.firebase.client.Transaction.Handler)无法应用于(匿名com.google.firebase.database.Transaction.Handler)

时间:2017-02-02 14:58:36

标签: android firebase firebase-realtime-database

我正在努力让自己熟悉使用他们的文档阅读和编写Firebase的基础知识。无论如何,他们已经有了关于递增数值的教程,并且我将它绑定到一个按钮来执行此操作:

public void onClick(View view) {

                Firebase upvotesRef = ref.child("https://docs-examples.firebaseio.com/android/saving-data/fireblog/posts/-JRHTHaIs-jNPLXOQivY/upvotes");

                upvotesRef.runTransaction(new Transaction.Handler() {
                    @Override
                    public Transaction.Result doTransaction(MutableData currentData) {
                        if(currentData.getValue() == null) {
                            currentData.setValue(1);
                        } else {
                            currentData.setValue((Long) currentData.getValue() + 1);
                        }
                        return Transaction.success(currentData);
                    }

                    @Override
                    public void onComplete(DatabaseError databaseError, boolean b, DataSnapshot dataSnapshot) {

                    }
                });

            }

这与我的布局中的一个按钮绑定,代码与教程中的代码完全相同,但是这段代码在编译之前给出了以下错误:

runTransaction (com.firebase.client.Transaction.Handler) in Firebase cannot be applied to (anonymous com.google.firebase.database.Transaction.Handler)

通常情况下,我会解决这个问题,但令人惊讶的是,似乎没有人遇到类似的问题,至少不是我能找到的问题,所以我想知道这里是否有人知道问题是什么?

1 个答案:

答案 0 :(得分:1)

如果其他人发现自己处于类似情况,问题是我从com.firebase.client而不是com.google.firebase.database

导入了Transaction类