您好我正在开发一个聊天应用程序,其中包含 - :
(多数民众赞成为什么我没有使用firebase存在系统)
在我的仪表板活动中,我正在从服务器监听数据,如
mRootRef.child("Messeges").child(FirebaseAuth.getInstance()
.getCurrentUser().getPhoneNumber())
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Send CallBack with Event bus in ConversationListFragmen
//Send CallBack to chattingActivity if User is chatting with someOne
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
当ConversationListFragment完成数据处理后,我将消息节点的值设置为“null”,因此从服务器中删除了消息
当Messege的值设置为null(服务器上的数据更改)
时onDataChange
方法fires.This在messeges中创建重复
有人可以建议如何防止此问题或我应该如何构建我的服务器以便我可以删除此问题
(请注释“不良问题”,如果您认为这是不好的问题而不是downvoting我将删除此线程因为我需要80多个声誉才能进入堆栈溢出的android开发人员聊天室)
和平
答案 0 :(得分:1)
改变这个:
.addValueEventListener(new ValueEventListener() {
到此:
.addListenerForSingleValueEvent(new ValueEventListener() {
这样它只会读取一次数据