javascript - Android - 从 Firebase 数据库中删除节点的问题

标签 javascript android firebase firebase-realtime-database

从 addChildEventListener 调用以下函数,以便在需要时从我的 Firebase 数据库中删除特定节点。 这里的问题是该函数启动了“项目已删除”。 toast,表示任务执行成功,但节点在数据库中一直存在。

谁能告诉我出了什么问题吗?

private void showData(DataSnapshot ds) {
    String keyValue = null;

    if(ds.hasChildren()) {
        keyValue = ds.getKey();

        Toast.makeText(getActivity().getApplicationContext(), "Removing item...", Toast.LENGTH_SHORT).show();
        ds.getRef().child(keyValue).removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Toast.makeText(getActivity().getApplicationContext(), "Item removed.", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getActivity().getApplicationContext(), "Something bad happened while removing item.", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

编辑 如果有帮助,我的查询如下:

orderItemsByTime = db.getInstance().getReference().child("items").orderByChild("time");

最佳答案

一个可能的解释是 ds.getRef().child(keyValue) 没有指向您想要的位置。当在不存在的位置执行 remove() 时,这不是错误。 task.isSuccessful() 返回 true。

添加一些调试日志记录(或烘烤)以显示 ds.getRef().child(keyValue) 的路径:

Toast.makeText(getActivity().getApplicationContext(), "Removing item at " +
        ds.getRef().child(keyValue), Toast.LENGTH_SHORT).show();

Log.d(TAG, "Removing item at " + ds.getRef().child(keyValue));

关于javascript - Android - 从 Firebase 数据库中删除节点的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44957243/

相关文章:

javascript - react : Switch Case/Same Component doesn't Unmount

javascript - 如何使用 innerHTML 插入 javascript(ie6 给我一个未知的运行时错误)

java - 图像未从 Firebase 存储加载

ios - 当我使用 firebase-quickstart-ios/admob 的最新示例时,Firebase 不报告 ‘ad_click’ 和 ‘ad_impression’ 事件

javascript - 如何将 onClick 事件添加到 PHP 生成的链接?

javascript - 背景颜色从下到上悬停动画

android - 如何在数据集为空的情况下强制不显示数据标签

java - 如何添加 fragment 以使我的应用程序不会在屏幕上显示为空白

android - 如何确定应用程序是在平板电脑还是移动设备上运行?

android - 类 android.location.Location 没有定义无参构造函数