Используйте addListenerForSingleValueEvent()
вместо addValueEventListener()
. Вы реализовали непрерывный слушатель по ссылке. Вот что происходит ...
Шаг 1: Добавление слушателя в ссылку и получение данных. Этот слушатель постоянно прослушивает изменения в этой ссылке.
Шаг 2. Преобразование данных в объект и выполнение операций (ваша логика)
Шаг 3: Сохранить данные в базе данных. Теперь, когда вы изменили данные, ваш onDataChanged будет вызываться снова.
Шаг 4: Но на этот раз ваш объект уже обновлен, поэтому добавление q.addreport(s);
не изменит объект.
Шаг 5: Вы пытаетесь сохранить данные в базе данных Firebase, но изменений нет, поэтому они будут прерваны.
Надеюсь, это поможет!