Firebase从RecyclerView适配器中删除子级 [英] Firebase remove children from RecyclerView Adapter

查看:51
本文介绍了Firebase从RecyclerView适配器中删除子级的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆