这是我的申报代码:
database = FirebaseDatabase.getInstance();
myRef = database.getReference("lifts");
为什么我不能添加
ValueEventListener
?我试了一下firebase指南的样本。代码如下:myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
我不知道为什么会这样?
myRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
@Override
public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
for (com.google.firebase.database.DataSnapshot item: dataSnapshot.getChildren()) {
...
}
...
}
});
最佳答案
错误是,您必须使用com.google.firebase.database.ValueEventListener
。但我认为您在文件顶部的导入中有一个com.firebase.client.ValueEventListener
的导入。
因此,编译器尝试使用com.firebase.client.ValueEventListener
作为默认值,但显然失败了。
要解决此问题,请查看导入并删除com.firebase.client.ValueEventListener
的条目。然后您可以添加com.google.firebase.database.ValueEventListener
如果必须同时使用这两种方法,则此方法不起作用。那么,除了使用两个或至少一个的全名(例如com.google.firebase.database.ValueEventListener
而不仅仅是ValueEventListener
)之外,没有其他解决方案了。