Как я вижу в вашем коде, вы используете addListenerForSingleValueEvent()
, что означает, что слушатель прочитает данные точно один раз.Это означает, что ваш метод onDataChange()
запускается с текущим значением (из кэша, если доступно, в противном случае с серверов Firebase), и сразу после этого прекращает прослушивание.В этом случае нет необходимости удалять прослушиватель.
Единственный раз, когда addListenerForSingleValueEvent
необходимо отменить, это если нет сетевого подключения, когда вы подключаете его, и у клиента нет локальной копииданных, либо потому, что был другой активный слушатель, либо потому, что у него есть копия данных на диске.
Итак, в заключение, нет необходимости вообще создавать метод removeListener()
.