为什么我的Firebase代码中的“对象”用红色加下划线?

时间:2018-05-08 09:43:55

标签: firebase android-studio kotlin

我正在尝试使用Firebase进入Kotlin。我查看的示例要求我添加以下代码:object: ChildEventListener。在Java中,这是new ChildEventListener。但object部分标记为红色,并显示消息:object is not abstract and does not implement abstract member。不确定它意味着什么或如何解决它。

db = FirebaseDatabase.getInstance().reference

db!!.child("cookies").addChildEventListener(object: ChildEventListener {

          //CODE HERE TO GET DATA
         }
     })

我在创建Button时遇到了类似的问题,我通过完全删除参数列表(括号及其内容)解决了这个问题,但它在这里不起作用。这显然是一个简单的解决方案的简单问题,但我刚刚开始并对语法感到有些困惑。任何有关这方面的帮助将非常感激:)

1 个答案:

答案 0 :(得分:3)

ChildEventListener是一个抽象类,所以你应该实现它的抽象成员:

  

对象不是抽象的,也不实现抽象成员

db!!.child("cookies").addChildEventListener(object: ChildEventListener {

          override fun onCancelled(error: DatabaseError) { }
          //etc
     }
 })