Хорошо, я думаю, что проблема заключается в следующем:
1) Вы используете событие Value для прослушивания данных (имейте в виду, что этот слушатель очень активен).
2) Затем при долгом нажатии вы обновляете определенное значение в базе данных.
3) Поскольку ValueEventListener очень активен, он отреагирует на изменение и заново заполнит список.
Хорошо, это мой анализ по вашему коду.
Возможное решение:
Попробуйте прослушать один раз при заполнении данных.
Итак, вместо этого в методе (showList ()):
NameRef.addValueEvent......
используйте это:
NameRef.addListenerForSingleValueEvent(.....)
Надеюсь, это поможет решить проблему.