Есть приложение, в нем посты. Лайки, сделал следующим образом:
postReference = firebaseDatabase.getInstance().getReference().child("Posts");
holder.likeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final DatabaseReference likeReference = postReference.child(listUserId).child("Likes");
likeReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (!dataSnapshot.hasChild(currentUserId)){
likeReference.child(currentUserId).removeValue();
}else {
likeReference.child(currentUserId).setValue("Like");
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Проблема в том что, после нажатия на кнопку, запись в базе начинает добавляться и удаляться без остановки. Как это исправить? Моя БД:
Решение: вместо addValueEventListener, надо использовать addListenerForSingleValueEvent.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости