【问题标题】:how to delete the auto generated item from push method from Firebase Real-time database如何从 Firebase 实时数据库的推送方法中删除自动生成的项目
【发布时间】:2020-03-09 16:53:12
【问题描述】:

我是 Firebase 的新手,在从我创建的回收站视图中删除项目时遇到问题。但我无法理解如何使用自动生成的密钥删除项目。这就是我将项目添加到database

 DatabaseReference reference = FirebaseDatabase.getInstance().getReference("categories");
     String key = reference.push().getKey();
    reference.child(key).setValue(categoryData).addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if(task.isSuccessful()){

                Toast.makeText(add_category.this, "Category added", Toast.LENGTH_SHORT).show();
                finish();

            }
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Toast.makeText(add_category.this, "Failed to add", Toast.LENGTH_SHORT).show();
        }
    });

【问题讨论】:

  • 您要删除这两项中的哪一项?
  • @AlexMamo 如果我想删除第二个项目怎么办

标签: java android firebase firebase-realtime-database android-recyclerview


【解决方案1】:

如您的评论,如果您想删除,例如第二项,请使用以下代码行:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference secondChildRef = rootRef.child("categories").child("-M1qUEGi0u4rX5Ju59r4");
secondChildRef.removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            Log.d("TAG", "Second item deleted!");
        }
    }
});

因此,要删除特定项目,您需要知道其 ID,以便将其添加到参考中。

【讨论】:

    猜你喜欢
    • 2022-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    相关资源
    最近更新 更多