Как остановить приемник событий Firebase в Android? - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь получить данные из Firebase, когда он завершает закрытое действие, Firebase все еще работает на слушателе, и я пытался удалитьEventListener, но он не работал, так как я могу это сделать?

childEventListener = mOnline.child("Room").addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
            String val = dataSnapshot.getValue(String.class);

            opponentPlayers.add(val);
            enterOpponentRoom();

        }

        @Override
        public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

        }

        @Override
        public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {

        }

        @Override
        public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

и вот как я пытался удалить слушателя

@Override
protected void onStop() {

    Log.d("onStop", "called");


    mOnline.child("Room").removeEventListener(childEventListener);


    super.onStop();


}

1 Ответ

0 голосов
/ 19 сентября 2018

Создайте переменную DatabaseReference с окончательным путем в базе данных, в данном случае mOnline.child ("Комната").Затем используйте эту ссылку, чтобы добавить слушателя, а затем удалить его.Что-то происходит, когда вы пытаетесь удалить слушателя, используя те же «дочерние» методы, что и при его добавлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...