Java 无法从Firebase实时数据库中删除数据
我检查了很多答案,还实现了从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
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的更多信息???您能确认函数被正确调用吗?(放置日志/断点等)。还要确保为要删除的对象正确设置了读/写规则