Firebase从RecyclerView适配器中删除子级 [英] Firebase remove children from RecyclerView Adapter
问题描述
从RecyclerView适配器 onClick 后,我需要从Firebase中删除子级.
I need to remove child from Firebase after onClick from RecyclerView Adapter.
我有这样的东西:
public void onBindViewHolder(final ViewHolder holder, final int position) {
holder.fromTextView.setText(my_data.get(position).getFromName());
holder.fromTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference messageRef = database.getReference();
final DatabaseReference mess = messageRef.child("notifications").child(toId.toString());
mess.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
//Code for delete?
}
}
}
}
Firebase数据库: Firebase数据库 Android RecyclerView: Android回收器视图
Firebase Database: Firebase Database Android RecyclerView: Android Recycler View
单击项目后,我需要将其从Firebase数据库中删除. 我只需要删除一个一个孩子.
After click on item, I need to delete it from Firebase Database. I need to delete only one child.
谢谢.
推荐答案
使用removeValue方法并添加侦听器以了解删除操作的状态,如下所示.有关完整示例,请 http://www.zoftino.com/firebase-realtime-database-android-example#realtime-database-delete
User removeValue method and add listener to know the status of the delete operation as shown below. For complete example http://www.zoftino.com/firebase-realtime-database-android-example#realtime-database-delete
FirebaseDatabase.getInstance().getReference()
.child("notifications").child(toId.toString()).removeValue()
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d("Delete", "Notification has been deleted");
} else {
Log.d("Delete", "Notification couldn't be deleted");
}
}
});
这篇关于Firebase从RecyclerView适配器中删除子级的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!