Android 从firebase中删除没有ID的记录
我已插入数据并在列表视图中显示,因为我是Firebase新手,不知道如何删除它 我的数据格式: 我尝试删除的代码是:Android 从firebase中删除没有ID的记录,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我已插入数据并在列表视图中显示,因为我是Firebase新手,不知道如何删除它 我的数据格式: 我尝试删除的代码是: listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long i
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
member.setName(list.get(position));
}
});
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String str = member.getName().substring(0,24);
if (str == "") {
Toast.makeText(Retreivedata.this, "plz select record to delete", Toast.LENGTH_LONG).show();
}else {
ref.child("Member").child(str).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
ref.child(str).removeValue();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Toast.makeText(Retreivedata.this,"Record is deleted",Toast.LENGTH_LONG).show();
Intent intent = new Intent(getApplicationContext(),Retreivedata.class);
startActivity(intent);
}
}
建议我点击删除按钮后设置什么 我建议使用firebase recycler adapter或android recycler view加载数据,但对于您的情况,您可以这样做:
这不是最好的方法,但假设您希望在单击时删除项目,并且假设所有名称都不同:
我假设member.getName为您提供了单击项目的名称:
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//ref
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Member");
//Query
Query query = ref.orderByChild("name").equalTo(member.getName());
ValueEventListener listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()){
//remove
ds.getRef().removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
query.addValueEventListener(listener);
}
});