Java Can';t删除/删除多条评论,在第一条评论之后,我必须退出活动,然后重新进入活动,以便删除其他评论
我添加了一个功能,这样用户就可以删除他们的评论,使用下面的代码可以很好地工作,但是它只删除一次评论。假设我打开了我的Java Can';t删除/删除多条评论,在第一条评论之后,我必须退出活动,然后重新进入活动,以便删除其他评论,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我添加了一个功能,这样用户就可以删除他们的评论,使用下面的代码可以很好地工作,但是它只删除一次评论。假设我打开了我的CommentActivity,在那里我写了3条评论,然后我决定删除全部3条或2条,这样一来,我就可以立即删除一条被删除的评论,但是我必须退出CommentActivity并重新输入我试图删除的其他注释。我希望能够删除所有评论,并让它们立即消失 谁能告诉我为什么/如何修理它 评论活动 private void readComments() { DatabaseRef
CommentActivity
,在那里我写了3条评论,然后我决定删除全部3条或2条,这样一来,我就可以立即删除一条被删除的评论,但是我必须退出CommentActivity
并重新输入我试图删除的其他注释。我希望能够删除所有评论,并让它们立即消失
谁能告诉我为什么/如何修理它
评论活动
private void readComments() {
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Comments").child(mPostId);
ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
Comment comment = dataSnapshot.getValue(Comment.class);
try {
comment.setComment(decrypt(comment.getComment(), mPassword));
} catch (Exception e) {
e.printStackTrace();
}
mCommentList.add(comment);
keysList.add(dataSnapshot.getKey());
mCommentAdapter.notifyItemInserted(mCommentList.size() - 1);
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
int index = keysList.indexOf(dataSnapshot.getKey());
mCommentList.remove(index);
keysList.remove(index);
mCommentAdapter.notifyDataSetChanged();
mCommentAdapter = new CommentAdapter(getApplicationContext(), mCommentList, mPostId);
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
};
reference.addChildEventListener(childEventListener);
}