Java 无法从Firebase实时数据库中删除数据

Java 无法从Firebase实时数据库中删除数据,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我检查了很多答案,还实现了从Firebase数据库中删除数据的代码。但当我点击删除按钮时,什么都没有发生,数据没有被删除。我不明白为何会出现这个问题 这是我的密码: deletebutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final String subcatego

我检查了很多答案,还实现了从Firebase数据库中删除数据的代码。但当我点击删除按钮时,什么都没有发生,数据没有被删除。我不明白为何会出现这个问题

这是我的密码:

    deletebutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String subcategory = spinnersub.getSelectedItem().toString();
                spinnersub.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                    @Override
                    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                        if (parentcategory.equals("Jokes")) {
                            subCategoryQuery = FirebaseDatabase.getInstance().getReference("Jokes").orderByChild("subcategory")
                                    .equalTo(subcategory);

                            subCategoryQuery.addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(DataSnapshot dataSnapshot) {
                                    for (DataSnapshot subSnapshot : dataSnapshot.getChildren()) {
                                        subSnapshot.getRef().removeValue();
                                    }
                                }

                                @Override
                                public void onCancelled(DatabaseError databaseError) {
                                    Log.e("TAG", "onCancelled", databaseError.toException());
                                }
                            });
                        }
                        else if(parentcategory.equals("Shayari")){
                            subCategoryQuery = FirebaseDatabase.getInstance().getReference("Shayari").orderByChild("subcategory")
                                    .equalTo(subcategory);

                            subCategoryQuery.addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(DataSnapshot dataSnapshot) {
                                    for (DataSnapshot subSnapshot : dataSnapshot.getChildren()) {
                                        subSnapshot.getRef().removeValue();
                                    }
                                }

                                @Override
                                public void onCancelled(DatabaseError databaseError) {
                                    Log.e("TAG", "onCancelled", databaseError.toException());
                                }
                            });

                        }
                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {

                    }
                });
            }
        });
deletebutton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
最终字符串子类别=spinnersub.getSelectedItem().toString();
spinnersub.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
if(parentcategory.equals(“笑话”)){
subcategory Query=FirebaseDatabase.getInstance().getReference(“笑话”).orderByChild(“子类别”)
.equalTo(子类别);
SubCategory Query.addListenerForSingleValueEvent(新值EventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot subSnapshot:DataSnapshot.getChildren()){
subSnapshot.getRef().removeValue();
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
Log.e(“TAG”,“onCancelled”,databaseError.toException());
}
});
}
else if(parentcategory.equals(“Shayari”)){
subcategory Query=FirebaseDatabase.getInstance().getReference(“Shayari”).orderByChild(“子类别”)
.equalTo(子类别);
SubCategory Query.addListenerForSingleValueEvent(新值EventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot subSnapshot:DataSnapshot.getChildren()){
subSnapshot.getRef().removeValue();
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
Log.e(“TAG”,“onCancelled”,databaseError.toException());
}
});
}
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
}
});

请告诉我我做错了什么?为什么它不起作用?为什么不删除数据?

removeValue可能由于多种原因而失败,请尝试添加CompletionListener以了解有关如何实现CompletionListener的详细信息???您能告诉我如何正确调用该函数吗?(放置日志/断点等)。另外,请确保为您尝试删除的对象正确设置了读/写规则RemoveValue可能会因多种原因失败,请尝试添加CompletionListener以了解有关如何实现CompletionListener的更多信息???您能确认函数被正确调用吗?(放置日志/断点等)。还要确保为要删除的对象正确设置了读/写规则