Firebase 删除不应该的值

2024-04-01

我正在使用 firebase 编写 Android 应用程序。我有一个部分,用户发送取件请求,该请求显示在司机的请求片段中。

为了处理接受/拒绝,我已经设置了它,因此当您单击“接受”时,它会创建另一个包含已接受请求的 Firebase 子项,然后我会将其显示为已处理的新请求项。

问题是,当我创建一个新请求并接受它时,如果用户尝试发送另一个请求,它会直接在 firebase 中创建为已接受的请求,并且不会显示为新请求。不知道为什么会发生这种情况,因为接受的请求被设置为仅在原始请求的接受按钮点击侦听器中创建。

调试我在控制台上得到这个:

E/ImeBackDispatcher:未找到 Ime 回调。忽略 unregisterReceivedCallback。回调ID:

不确定它是否有什么关系,但我不明白为什么会出现这个问题。

这里我创建了原始的Request

private void createrequest(){
    DatabaseReference userefdata = FirebaseDatabase.getInstance().getReference().child("Requests");

    userefdata.addValueEventListener(new ValueEventListener() {

        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            for (DataSnapshot snap : snapshot.getChildren()) {

                String userID = FirebaseAuth.getInstance().getCurrentUser().getUid();

                String drivid = snap.child("driverid").getValue(String.class);
                Boolean acted = snap.child("actedon").getValue(Boolean.class);

                if (Objects.equals(drivid, userID)){

                    Requestitem evt = new Requestitem(snap.child("_name").getValue(String.class),
                        snap.child("_major").getValue(String.class),
                        snap.child("time").getValue(String.class),
                        snap.child("riderid").getValue(String.class),
                        snap.child("driverid").getValue(String.class),
                        false
                    );
                    if(acted == true)
                    {
                        requestitemsaccted.add(evt);
                    }
                    else {
                        requestitems.add(evt);
                    }
                }
            }
            adapter.notifyDataSetChanged();
            adapter2.notifyDataSetChanged();

        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {
        }
    });
}

//在这里,我从适配器创建接受的请求并删除原始请求

public viewH(@NonNull View itemView) {
    super(itemView);

    ace = itemView.findViewById(R.id.bacc);
   
    String rideridd =  list2.get(pos).getRiderid();

    ace.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FirebaseDatabase.getInstance().getReference("Requests").child(rideridd).addValueEventListener(new ValueEventListener() {

                @Override

                public void onDataChange(@NonNull DataSnapshot snapshot) {
                   snapshot.getRef().removeValue();
                    String userID = FirebaseAuth.getInstance().getCurrentUser().getUid();

                    RequestAccepted acepted = new RequestAccepted(name.getText().toString(), major.getText().toString(), date.getText().toString(), rideridd, userID, true);
                    _database.getReferenceFromUrl("https://full-ride-59aee-default-rtdb.firebaseio.com/").child("RequestsAccepted").child(Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser())
                            .getUid()).setValue(acepted);
                }

                @Override
                public void onCancelled(@NonNull DatabaseError error) {
                }

            });
            // create new item request acted on in firebase with this data then make it show in ride history

        }
    });

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase 删除不应该的值 的相关文章

  • 如何从该 JAVA 文件中提取 Delphi 类以与 Android 一起使用?

    我的Delphi XE7项目需要与FTDI FT311 Android 配件芯片 http www ftdichip com Products ICs FT311D html 他们帮助提供了一个 Android 演示 其中包括他们的 JAV
  • Android上如何模拟后台Activity因内存不足而被系统杀死的过程?

    我正在处理 内存不足 不再有后台进程 问题 当这种情况发生时 我的活动处于后台并被杀死 我正在尝试保存并加载实例状态来解决它 但因为它并不是每次都会发生 在这种情况下我应该如何测试我的活动 Thanks 您可以通过 adb 强制进程终止 g
  • 使用 dpi 与 dp 缩放图像之间的差异

    我拥有所有由九个补丁位图组成的 dpi 可绘制目录 xxhdpi 和 xxxhdpi 是否必要 可绘制目录中的可绘制资源文件可检索所有缩放的位图 并且我使用可绘制资源文件 现在 我的问题是我还根据大小 小 正常等 创建了 缩放 布局目录 其
  • API29 上不推荐使用 setColorFilter

    我使用以下行来更改 VectorDrawable 的颜色 mydrawable getBackground setColorFilter color PorterDuff Mode SRC ATOP 这很好用 尽管它现在已被弃用 文档建议我
  • 如何在活动中的必填字段中显示 * 符号

    我需要在活动中的必填字段中显示 符号 你能建议我怎样才能做到这一点吗 任何帮助 将不胜感激 我想说 作为必填字段的标记不遵循本机 Android 主题 的组合setHint and setError对于 Android 应用程序来说看起来更
  • onScale 事件后触发奇怪的 onScroll 事件

    我有一个同时使用 SimpleOnScaleGestureListener 和 SimpleOnGestureListener 的应用程序 每当我进行捏缩放时 我都会得到预期的 onScale 但是当我抬起时 我会看到一个奇怪的 onScr
  • Android:如何使用后台线程?

    我开发了一个应用程序 它从互联网获取内容并相应地在设备的屏幕上显示它 该程序运行得很好 就是有点慢 加载并显示内容大约需要 3 4 秒 我想将获取内容并将其显示在后台线程中的所有代码放在一起 当程序执行这些功能时 我想显示一个进度对话框 你
  • Android中如何检测WIFI连接何时建立?

    我需要检测何时通过 WIFI 建立网络连接 发送什么广播来确定已建立有效的网络连接 我需要验证是否存在有效的 HTTP 网络连接 我应该监听什么以及需要进行哪些额外测试才能知道是否存在有效连接 您可以注册一个BroadcastReceive
  • Android 版 jTwitter 授权错误

    我在我的 Android 应用程序中使用 jTwitter 库 直到前天一切都运转良好 但今天遇到异常 服务提供商响应错误 301 请帮助我 这是堆栈跟踪 02 21 21 07 27 258 E AndroidRuntime 4013 F
  • 我想从 android 中服务器的视频 url 创建缩略图

    My code public static Bitmap retriveVideoFrameFromVideo String videoPath throws Throwable Bitmap bitmap null MediaMetada
  • 在选项卡上保存数据

    我有 3 个选项卡 每个选项卡都有一个单独的活动 我想在用户单击任一选项卡上的 保存 时保存数据 有几个选项可供选择 共享首选项 全局变量或将对象保存在上下文中 编辑 我必须保存图像和文本字段 Android 共享首选项 https sta
  • Android 纹理仅显示纯色

    我正在尝试在四边形上显示单个纹理 我有一个可用的 VertexObject 它可以很好地绘制一个正方形 或任何几何对象 现在我尝试扩展它来处理纹理 但纹理不起作用 我只看到一种纯色的四边形 坐标数据位于 arrayList 中 the ve
  • TextInputLayout 对于在 EditText 中以编程方式给出提示没有效果

    我有一个 EditText 它的父级是 TextInputLayout 我试图以编程方式为 EditText 提供提示 不在布局中 在这种情况下 文本输入提示动画不起作用 它像简单的 EditText 一样工作 有人可以建议如何处理它吗 下
  • 即使 Android M 上的移动数据已打开(有连接),也可以通过 WiFi(无连接)发送请求

    我必须在没有互联网连接的情况下将 UDP 数据包发送到 WiFi 模块 配有自己的 AP 但是当我将手机连接到 AP 时 Android 会在移动数据接口上重定向我的数据包 因为它有互联网连接 我使用下面的代码来完成我的工作 但它似乎不适用
  • 将 Firebase FCM 添加到 ReactJS 应用程序

    我正在尝试向我的 ReactJS 应用程序中的用户发送推送通知 我已添加 firebase 请求用户通知权限 这正在发挥作用 但现在我想注册设备令牌 但这给了我错误 消息传递 我们无法注册默认的 Service Worker 无法注册 Se
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 如何关闭 EditText 中的建议?

    如何在 Android 中关闭 EditText 中的建议 android inputType textNoSuggestions 根据this http comments gmane org gmane comp handhelds an
  • 在 Nougat 7.1.1 中点击应用程序快捷方式时出现应用程序未安装错误

    我在向现有应用程序添加静态应用程序快捷方式时遇到一些问题 我按照以下步骤操作https developer android com guide topics ui shortcuts html https developer android
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 如何正确编写AttributeSet的XML?

    我想创建一个面板适用于 Android 平台的其他小部件 http code google com p android misc widgets 在运行时 XmlPullParser parser getResources getXml R

随机推荐

  • 为什么我的 Bootstrap 弹出窗口不起作用?

    我正在尝试使用引导弹出窗口 http getbootstrap com javascript popovers 因此 我将示例中的确切代码复制到我的网站中 不幸的是 这不起作用 我粘贴了下面的完整代码并创建了这里有一个jsfiddle ht
  • 更改 Angular 材质下拉列表和文本的默认位置

    我试图将材质下拉面板的位置更改为下拉按钮的底部 并尝试将名称和箭头垂直居中到下拉区域 请浏览一下我想要实现的图像 div class dropDown div
  • 如何禁用或隐藏 Ionic 2 中的滚动条

    我有一个包含在 Ionic 2 中的 Angular 2 应用程序 我正在使用
  • 引用参数返回未知大小的数组。如何处理?

    COM 组件公开一个 API 该 API 需要对象类型的 ref 参数 根据此 API 的文档 它将用值数组填充 ref 对象 现在我的问题是在产品环境中 我无法预测我将返回的元素数量 以下代码将起作用 COMClass objCOM ne
  • 在派生对象上移动构造函数

    当派生对象具有移动构造函数 并且基础对象也具有移动语义时 从派生对象移动构造函数调用基础对象移动构造函数的正确方法是什么 我首先尝试了最明显的事情 Derived Derived rval Base rval 然而 这似乎最终调用了 Bas
  • python 中的线程锁未按预期工作

    我试图保护线程内的数据免受主线程的影响 我有以下代码 lock threading Lock def createstuff data t threading Thread target func args data t start def
  • 为什么 Collections.binarySearch 给出错误的结果?

    我创建了一个列表 其中保存了一些字符串 但是当我在做的时候二分查找在此列表中 它正在返回负值而该项目是在列表中 到目前为止我的知识正值当物品被退回时在列表中 但对于某些项目 它返回负值 而对于某些项目 它返回正值 Code Test pub
  • 结构体上溢出的整数加法[重复]

    这个问题在这里已经有答案了 有的是ULARGE INTEGER 联合 https msdn microsoft com en us library windows desktop aa383742 v vs 85 aspx对于不支持 64
  • 使用 AJAX 时页面不断刷新

    我正在创建一个包含表单的模式框 使用 ajax 和 php 提交后 表单将返回输入 然后模式框应该消失 问题是 结果在框消失和页面刷新之前显示了几秒钟
  • flutter中如何在某个时间执行一个方法?

    如何在固定时间执行一个方法 比如我想在下午 2 30 运行一个方法 我了解计时器功能 但是运行计时器功能这么长时间是个好主意吗 同样 该方法在一天内会被调用多次 Edited 我努力了android alarm manager https
  • R data.table 加速 SI/公制转换

    情况是这样的 我有一个 8500 万行 18 列的表 其中三列的值采用公制前缀 SI 表示法 请参阅公制前缀 http en wikipedia org wiki Metric prefix维基百科上 这意味着我有这样的号码 1M 而不是
  • 访问 <#list> 中对象的属性

    Solution 我之前曾尝试向 LineItem 类添加访问器 例如 public String getItemNo return itemNo 并将 FTL 从 lineItem itemNo to lineItem getItemNo
  • PushStreamContent 流在负载下不会刷新

    我正在使用 PushStreamContent 来保持与每个客户端的持久连接 每 20 秒向每个客户端流推送短心跳消息对于 100 个客户端来说效果很好 但在大约 200 个客户端时 客户端首先开始延迟几秒钟接收 然后根本不显示 我的控制器
  • HighCharts图像导出

    我在我的应用程序中使用 HighChart 我想通过单击按钮导出图表图像http jsfiddle net hfrntt fXHB5 1896 http jsfiddle net hfrntt fXHB5 1896 但我想将图像保存在预定义
  • 无法从 Scrapy 脚本访问 request.response.meta['redirect_urls']

    我无法访问request response meta redirect urls 来自我的 Scrapy 脚本 但在 Scrapy shell 中访问同一网页的此信息没有问题 当我打印钥匙时request response meta我只看到
  • 如何使用 Firebase Cloud Messaging 自动增加 iOS 通知徽章?

    如何使用 Firebase Cloud Messaging 自动增加 iOS 通知徽章 是否可以做类似的事情 1 or 您可以在 通知负载 https firebase google com docs cloud messaging htt
  • Onclick 或 href 最适合在按钮中打开链接

    这是最好的方法 使用按钮打开链接
  • 使用 webdriver python 的触摸事件示例?

    我见过大约100个Java Webdriver 的触摸事件示例 http android developers blogspot com 2011 10 introducing android webdriver html在线 但没有一个P
  • 删除 pandas 数据框中的所有特殊字符

    我无法从 pandas 数据框中删除所有特殊字符 你能帮我吗 我尝试过这样的事情 df df replace r W regex True 因为我在最近的一篇文章中发现了它 但是当我执行时 特殊字符 不会消失 我知道在 PostgresQL
  • Firebase 删除不应该的值

    我正在使用 firebase 编写 Android 应用程序 我有一个部分 用户发送取件请求 该请求显示在司机的请求片段中 为了处理接受 拒绝 我已经设置了它 因此当您单击 接受 时 它会创建另一个包含已接受请求的 Firebase 子项