Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t删除/删除多条评论,在第一条评论之后,我必须退出活动,然后重新进入活动,以便删除其他评论_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

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);
    }