2
mImageLike.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
mProcessLike = true;
//mLikeCount.setText("numLikes");
mDatabaseLike.addValueEventListener(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
if(mProcessLike)
{
if(dataSnapshot.child(post_key).hasChild(mAuth.getCurrentUser().getUid()))
{
mDatabaseLike.child(post_key).child(mAuth.getCurrentUser().getUid()).removeValue();
numLike--;
mProcessLike = false;
}
else
{
mDatabaseLike.child(post_key).child(mAuth.getCurrentUser().getUid()).setValue("Liked");
mProcessLike = false;
}
}
}
@Override
public void onCancelled(DatabaseError databaseError)
{
}
});
mDatabaseLike.addChildEventListener(new ChildEventListener()
{
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s)
{
numLike = dataSnapshot.getChildrenCount();
mDatabaseLike.child(post_key).child("numLike").setValue(numLike);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s)
{
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot)
{
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s)
{
}
@Override
public void onCancelled(DatabaseError databaseError)
{
}
});
}
});
当像按钮被按下时,我正在增加计数挣扎,并将该计数数字存储到数据库“喜欢”。我已经声明了DatabaseReference mDatabaseLike,它看起来像这样。 有没有一种方法可以统计Firebase数据库中的儿童人数?
我试图计算每个喜欢的孩子的数量(与“喜欢”的字符串),并将它们存储到每个键(如Kb6cSLImN_7lrPyAr2Q)作为numLike。当我点击按钮时,它会更新计数,但是当我再次单击按钮以删除时,该数字不会减少。
请帮忙!非常感谢你。