Я использую базу данных firebase для своего приложения для Android. Я установил ChildEventListener
для одного из узлов firebase. Когда немедленный дочерний элемент этого узла удален, onChildRemoved()
следует вызывать только один раз, но в моем случае он вызывается несколько раз.onChildRemoved(), вызываемый несколько раз
Причина, я думаю, почему это происходит потому, что я поставил ChildEventListener
для того же узел в нескольких местах по всему моему приложению, потому что, когда я установил ChildEventListener
один раз в моем приложении, метод onChildRemoved()
вызывается один раз за ребенком удален, который как ожидалось.
фрагмента А
firebaseData.child("patients").addChildEventListener(new ChildEventListener() {
@Override
public void onChildRemoved(DataSnapshot dataSnapshot)
{
dataChangedforListviewInFragmentA(dataSnapShot);
}
});
Фрагмент B
firebaseData.child("patients").addChildEventListener(new ChildEventListener() {
@Override
public void onChildRemoved(DataSnapshot dataSnapshot)
{
dataChangedforListviewInFragmentB(dataSnapShot);
}
});
Фрагмент С
firebaseData.child("patients").addChildEventListener(new ChildEventListener() {
@Override
public void onChildRemoved(DataSnapshot dataSnapshot)
{
dataChangedforListviewInFragmentC(dataSnapShot);
}
});
В методе dataChangedforListviewInFragment()
Я установил listView
, используя обновленные данные. Когда сразу дочерний узел patients
удаляет onChildRemoved()
в Fragment C
, вызывается несколько раз.
Можно ли написать ChildEventListener
в нескольких местах в моем приложении и все же получить его методы обратного вызова, чтобы их вызывало нужное количество раз. Благодарю.
В следующий раз, вместо описания кода, пожалуйста, укажите минимальный код, чтобы воспроизвести вашу проблему в вопросе. –
Извините, но здесь нет минимального кода. Существует либо код, либо код, который бы сделал интуитивный счетчик вопросов. Вопрос сам по себе сам объясняется, если вам что-то неясно, я бы с удовольствием объяснил более детально, если это необходимо. –