Java Firebase删除子按钮单击
我的问题是我不能从firebase数据库中删除一个子项,要么什么都不发生,要么删除整个子项和所有数据。我环顾四周,尝试了多种解决方案,但无论出于何种原因,我的方案都不起作用,我不知道为什么 感谢您的帮助 Java类Java Firebase删除子按钮单击,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我的问题是我不能从firebase数据库中删除一个子项,要么什么都不发生,要么删除整个子项和所有数据。我环顾四周,尝试了多种解决方案,但无论出于何种原因,我的方案都不起作用,我不知道为什么 感谢您的帮助 Java类 //get data passed from viewpasswords and put them into textviews name.setText(getIntent().getExtras().getString("data")); pass
//get data passed from viewpasswords and put them into textviews
name.setText(getIntent().getExtras().getString("data"));
password.setText(getIntent().getExtras().getString("pass"));
//get current user id and reference to database
final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
assert user != null;
userID = user.getUid();
dbRef = FirebaseDatabase.getInstance().getReference();
//button onclick stuff
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DeleteData();
}
});
exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(DecryptPassword.this, ViewPasswords.class);
startActivity(intent);
}
});
}
private void DeleteData() {
final String passName = name.getText().toString();
Query query = dbRef.child("Passwords").child(userID).orderByChild("PasswordName").equalTo(passName);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.getChildrenCount() > 0){
for(DataSnapshot itemSnapshot : dataSnapshot.getChildren()){
dataSnapshot.getRef().removeValue();
Toast.makeText(DecryptPassword.this, "Success", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(DecryptPassword.this, ViewPasswords.class);
startActivity(intent);
}
}else{
Toast.makeText(DecryptPassword.this, "Failed to delete", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(DecryptPassword.this, "Error occurred sorry", Toast.LENGTH_SHORT).show();
}
});
}
Firebase数据库:
谢谢
dataSnapshot.getRef().removeValue();
将此部分更改为:
itemSnapshot.removeValue();