如何按键删除 firebase 中的一个项目我正在尝试这样的事情但不适合我

How delete one item in firebase by key I am try some thing like this but not work with me

我的代码用于删除子配方中 firebase 中的一项该方法在单击一项时删除配方中的所有列表项我认为因为 for 循环获取所有项目而不是特定项目并删除所有项目我不'知道如何只删除列表键中的一个项目我去删除了一个键只需一个点击按钮删除 enter image description here

当点击删除按钮删除所有键而不是一个时,配方参考有两个键

 holder.delete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            AlertDialog.Builder builder1 = new AlertDialog.Builder(view.getRootView().getContext());
            builder1.setTitle("Delete post");
            builder1.setMessage("Are you sure that you want delete the post?");
            builder1.setCancelable(true);

            builder1.setPositiveButton(
                    "Yes",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, final int id) {

                            ref.child("recipe").addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(DataSnapshot dataSnapshot) {
                                    for(DataSnapshot uniqueKeySnapshot : dataSnapshot.getChildren()){
                                        String skey = uniqueKeySnapshot.getKey();
                                        uniqueKeySnapshot.child(String.valueOf(id)).child(skey).getRef().removeValue();                           //ref.child("recipe").child(skey).setValue(null);
                                    dialog.cancel();

                                    }
                                }
                                @Override
                                public void onCancelled(DatabaseError databaseError) {
                                    Toast.makeText(mContext, "error !"+databaseError.getMessage(), Toast.LENGTH_SHORT).show();
                                }
                            });



                            dialog.cancel();
                        }
                    });

            builder1.setNegativeButton(
                    "No",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });

            AlertDialog alert11 = builder1.create();
            alert11.show();
        }

    });

我在冷藏的 bacuse 中制作 for 循环有列表食谱

您的屏幕截图中没有删除代码行。

reference2.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
       dataSnapshot.getRef.removeValue();
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        //for database error
    }
});

或者简单地说,

reference2.removeValue();

下次不要 post 你的代码作为图像。

就这么办

reference2.child(YOUR_ITEM_KEY).setValue(null);