我正在试着让自己熟悉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)通常,我会在谷歌上搜索这个问题,但令人惊讶的是,似乎没有人有类似的问题,至少我找不到,所以我想知道这里是否有人知道问题是什么?
发布于 2017-02-02 23:29:26
以防其他人遇到类似的情况,问题是我从com.firebase.client而不是com.google.firebase.database导入了Transaction类
https://stackoverflow.com/questions/42005460
复制相似问题