【发布时间】:2021-06-15 10:11:13
【问题描述】:
尝试实现一个基本的访客计数器,只要用户点击帖子,该计数器就会增加。我的方法正确地做到了这一点,但问题是每当同一个用户点击时计数器就会增加,所以它应该只发生一次。我试图用布尔值来处理这个问题,但没有奏效。有人可以帮忙吗?
我的代码的对应部分。
private void incredmentCount(){
boolean isCounting = true;
if (isCounting){
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("posts").child(postId);
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("counter", counter++);
myRef.updateChildren(hashMap);
//stop counting as soon as database updates.
isCounting = false;
}
}
【问题讨论】:
-
“我已尝试使用布尔值来处理此问题,但没有奏效”您能否编辑您的问题以显示您对这些布尔值的尝试?
-
@FrankvanPuffelen 完成。可能有什么问题?
-
您的代码中的布尔值
isCounting有什么问题? -
@FrankvanPuffelen 布尔 isCounting 应该阻止用户一遍又一遍地增加计数器。它应该只增加一次。
标签: firebase-realtime-database counter