Java Firebase中的childeventlistener出现问题
我对下面的代码有问题 私有FirebaseDatabase mFirebaseDatabase; 私有数据库引用mDatabaseReference; private ChildEventListener mChildListener; @凌驾 受保护的void onCreateBundle savedInstanceState{ super.onCreatesavedInstanceState; setContentViewR.layout.activity_列表; mFirebaseDatabase=FirebaseDatabase.getInstance; mDatabaseReference=mFirebaseDatabase.getReference.childMyItem; mChildListener=新的ChildEventListener; mDatabaseReference.addChildEventListenermChildListener; } 错误为childeventlistener是抽象的,无法为以下行实例化 mChildListner=新的ChildEventListenerJava Firebase中的childeventlistener出现问题,java,firebase,firebase-realtime-database,Java,Firebase,Firebase Realtime Database,我对下面的代码有问题 私有FirebaseDatabase mFirebaseDatabase; 私有数据库引用mDatabaseReference; private ChildEventListener mChildListener; @凌驾 受保护的void onCreateBundle savedInstanceState{ super.onCreatesavedInstanceState; setContentViewR.layout.activity_列表; mFirebaseData
知道我做错了什么吗 ChildEventListener是一个接口,您不能在java中创建该接口的实例,而是需要创建一个实现该接口的类 与此相反:
mChildListener = new ChildEventListener();
mDatabaseReference.addChildEventListener(mChildListener);
您可以这样做:
mChildListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {
Log.d(TAG, "onChildAdded:" + dataSnapshot.getKey());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String previousChildName) {
Log.d(TAG, "onChildChanged:" + dataSnapshot.getKey());
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
Log.d(TAG, "onChildRemoved:" + dataSnapshot.getKey());
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String previousChildName) {
Log.d(TAG, "onChildMoved:" + dataSnapshot.getKey());
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "postComments:onCancelled", databaseError.toException());
}
};
mDatabaseReference.addChildEventListener(mChildListener);
错误很明显,你不能创建抽象类的对象,你知道抽象类是什么吗?对不起,我是一个编程新手,仍然没有借口,但我在这里发布之前读过,仍然对错误感到困惑。我发现抽象类是一种声明的方法,可能需要子类。关于抽象类的视频不介意他的口音,这是一个很好的解释,下面是关于抽象类的许多答案,鼓励在开始FirebaseThank之前先了解java基础知识。虽然ChildEventListner不是一个抽象类,它是一个接口,但是你会得到一个想法,非常感谢你把我引向正确的方向。如果这有助于确保接受,这样其他人就知道应该看什么答案。