gpt4 book ai didi

java - 如何更改firebase中的数据并检查id自动增量

转载 作者:行者123 更新时间:2023-12-01 19:11:53 24 4
gpt4 key购买 nike

嘿,我的问题是重写,如果用户输入相同的 nameItem 将会更改价格和数量Item,如果不是,则该项目将添加新的 id。我还对 id 进行自动递增。

我的数据库: enter image description here

这就是我尝试的方法,但是当 name == nameItem 无法在 DataChange 上的 else 上读取和运行时。

if(i != 0){
for(id1 = 1; id1<=i; id1++){
if(id1 != 0){

final DatabaseReference reff1 = FirebaseDatabase.getInstance().getReference().child("CartList").child(userID).child(String.valueOf(id1));

reff1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

String carinama = dataSnapshot.child("nameItem").getValue().toString();
String changequantity = dataSnapshot.child("quantityItem").getValue().toString();

if(nameItem == carinama) {

int calcQuantity = Integer.parseInt(cdtb.getQuantityItem());
newpositionItem = newpositionItem + calcQuantity;
String x = String.valueOf(newpositionItem);
cdtb.setQuantityItem(x);
int price1Item = Integer.parseInt(priceItem);
newpositionItem = newpositionItem * price1Item;
cdtb.setPriceItem(d2f.format(newpositionItem));
reff1.setValue(cdtb);
id1 = i;
}else {
int calcQuantity = Integer.parseInt(changequantity);
newpositionItem = newpositionItem + calcQuantity;
String x = String.valueOf(newpositionItem);
cdtb.setQuantityItem(x);
double price1Item = Double.parseDouble(priceItem);
newpositionItem = newpositionItem * price1Item;
cdtb.setPriceItem(d2f.format(newpositionItem));
reff1.setValue(cdtb);
}
}

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

Toast.makeText(getContext(), ""+databaseError, Toast.LENGTH_SHORT).show();
}
});

}else {

}
}
}else{
cdtb.setImageItem(imageUrl);
cdtb.setNameItem(nameItem);
cdtb.setPriceItem(d2f.format(calcPrice));
cdtb.setSpecification(specItem);
cdtb.setQuantityItem(positionItem);
reff.child(String.valueOf(++maxid)).setValue(cdtb);
}

谢谢...

最佳答案

nameItem 和 carinama 是 String

在java中比较两个字符串必须使用等于方法而不是“==”

因为 == 将比较内存中的对象位置而不是内容字符串

所以你的代码条件将是

if(nameItem.equals(carinama)){
//your code here
}

关于java - 如何更改firebase中的数据并检查id自动增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59473942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com