将一个嵌套值与其他嵌套值相加-Firebase,Android

问题描述

我想添加每种产品的价格并将其值存储在“ billAmount”中,其中每种产品的价格都嵌套在json树中,如图

enter image description here

但是,当我尝试将每个价格相加并存储到onDataChange内部的变量中时,只会存储第一个产品价格。 我如何添加值并将最终金额添加到树中,并使用billAmount作为键,如图所示? 请帮我做到这一点。

ref_order.addListenerForSingleValueEvent(new ValueEventListener() {
                            @Override
                            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                                SharedPreferences sharedPreferences = getSharedPreferences("deliveryAddressKey",MODE_PRIVATE);
                                String address = sharedPreferences.getString("value","");
                                dataSnapshot.getRef().child("deliveryAddress").setValue(address);
                                int billAmount = 0;
                                for (DataSnapshot categorySnapshot : dataSnapshot.getChildren()) {
                                    for (DataSnapshot brandSnapshot : categorySnapshot.getChildren()) {
                                        for (DataSnapshot quantitySnapshot : brandSnapshot.getChildren()) {
                                            if (quantitySnapshot.child("price").getKey().equals("price")) {
                                                billAmount += quantitySnapshot.child("price").getValue(Long.class);
                                                dataSnapshot.getRef().child("billAmount").setValue(billAmount);
                                                Toast.makeText(ConfirmationAndBilling.this,billAmount,LENGTH_LONG).show();
                                            } else {
                                                Toast.makeText(ConfirmationAndBilling.this,quantitySnapshot.child("price").getKey(),LENGTH_LONG).show();
                                            }
                                        }
                                    }
                                }
                            }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...