问题描述
我想添加每种产品的价格并将其值存储在“ billAmount”中,其中每种产品的价格都嵌套在json树中,如图
但是,当我尝试将每个价格相加并存储到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 (将#修改为@)