Firebase错误:无法添加ValueEventListener

3 android firebase firebase-realtime-database

这是我的声明代码:

database = FirebaseDatabase.getInstance();
myRef = database.getReference("lifts");
Run Code Online (Sandbox Code Playgroud)

为什么我不能添加ValueEventListener?我尝试了Firebase指南中的示例.这是代码:

myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {

    }

    @Override
    public void onCancelled(FirebaseError firebaseError) {

    }
});
Run Code Online (Sandbox Code Playgroud)

这有效,我不明白为什么?

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()) {
            ...
        }
        ...
    }
});    
Run Code Online (Sandbox Code Playgroud)

Uel*_*ert 6

错误是,你必须使用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)两者或至少一个之外,没有其他解决方案.