Проблема с childeventlistener в Firebase - PullRequest
0 голосов
/ 21 апреля 2020

У меня проблемы с приведенным ниже кодом

private FirebaseDatabase mFirebaseDatabase;
private DatabaseReference mDatabaseReference;
private ChildEventListener mChildListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list);
    mFirebaseDatabase = FirebaseDatabase.getInstance();
    mDatabaseReference = mFirebaseDatabase.getReference().child("MyItem");
    mChildListener = new ChildEventListener(); 
    mDatabaseReference.addChildEventListener(mChildListener);
}

Ошибка childeventlistener абстрактная не может быть мгновенным для строки ниже mChildListner = new ChildEventListener ()

Любая идея, что я я делаю неправильно

1 Ответ

1 голос
/ 21 апреля 2020

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...