为什么数据在 Firebase 数据库的 Loop 中一次又一次地添加?

古尔山亚达夫

我正在尝试将表单数据更新到Firebase 数据库中

当我点击提交按钮时,数据在Firebase 数据库的无限循环中一次又一次地添加

我找不到错误。我不知道我的代码出了什么问题。

任何人都可以帮助我更正代码。

LoginRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        long totalusers = dataSnapshot.getChildrenCount();

        final long userid = 100000 + totalusers;
        Random random = new Random();
        int n = random.nextInt();
        final String password = String.valueOf(userid).concat(String.valueOf(n));

        HashMap usermap = new HashMap();
        usermap.put("fullname", name);
        usermap.put("phonenumber", phoneNumber);
        usermap.put("sponsorid", sponsorId);
        usermap.put("emailid", emailId);
        usermap.put("userid", userid);
        UsersRef.child(String.valueOf(userid)).updateChildren(usermap).addOnCompleteListener(new OnCompleteListener() {
            @Override
            public void onComplete(@NonNull Task task) {
                if (task.isSuccessful()) {
                    HashMap loginmap = new HashMap();
                    loginmap.put("password", password);
                    LoginRef.child(String.valueOf(userid)).updateChildren(loginmap).addOnCompleteListener(new OnCompleteListener() {
                        @Override
                        public void onComplete(@NonNull Task task) {
                            if (task.isSuccessful()) {
                                SendUserToUsersActivity();
                                Toast.makeText(AddUserActivity.this, "User Added", Toast.LENGTH_LONG).show();
                            } else {
                                String message = task.getException().getMessage();
                                Toast.makeText(AddUserActivity.this, "Error: " + message, Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                } else {
                    String message = task.getException().getMessage();
                    Toast.makeText(AddUserActivity.this, "Error: " + message, Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }
});

我希望在 Firebase 数据库上只添加一次数据。

彼得·哈达德

改变这个:

 LoginRef.addValueEventListener(new ValueEventListener() {

进入这个:

 LoginRef.addListenerForSingleValueEvent(new ValueEventListener() {

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何减少一次又一次的firebase数据库查询?

Firebase 数据库一次又一次地更新子值而不满足条件 true

CoreData将数据一次又一次地添加到数据库中

Flutter:为什么setState((){})一次又一次地设置数据

我的数据在表视图中一次又一次地重新加载?

避免一次又一次地从JSON获取数据

更新状态一次又一次地获取数据后

如何在不一次又一次键入键值的情况下将数据存储在 firebase 中?

Recycler Adapter 在点击项目后一次又一次地读取数据(ANDROID KOTLIN)

我的 RecyclerView 一次又一次地从房间数据库中获取数据

使用foreach()之后,一次又一次重复相同的数据库表值

延迟到下一个数据项,一次又一次地追加

为什么 npm install 命令在 node app 中一次又一次地重新运行?

在同一个MVC项目中的C#类和JS文件中使用相同的静态数据,而无需在运行时一次又一次地重建

firebase 实时数据库一次还是打开一次?

为什么图像请求在React JS中一次又一次触发?

为什么CoreBluetooth一次又一次地发现相同的外围设备?

有什么办法避免“?” 标记一次又一次地在Swift中解包?

为什么Firebase数据库(Firestore)不添加文档

Oncreate 函数被调用一次,为什么按钮可以一次又一次地工作?

Firebase 和 Ionic 1.x - 无法一次向数据库添加多个对象

Firebase / Angular2-一次加载数据库表

Firebase HTTP Cloud功能-读取数据库一次

Firebase实时数据库分页,一次显示20条记录

限制非高级用户每天仅写入Firebase数据库一次

Firebase实时数据库一次更新多个节点

为什么我的数据两次存储在Firebase数据库中?

React Native 中的掩码视图错误为什么它一次又一次地发生我需要解决方案编码人员

Elif 声明行为不端并一次又一次地打开 desktop.ini。为什么?