我正在尝试在用户按下途中按钮后将我的 mcustDelivery 状态从 Firebase 中的“接受”更新为“途中”。但每当我按下途中按钮时,firebase 都会更改为“途中”并立即更改回“接受”。这是我的航路按钮的 setOnClickListener。
OrderStatus.Java
enroute.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mDatabase.child(key).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
dataSnapshot.getRef().child("mcustDeliveryStatus").setValue("Enroute");
enroute.setImageResource(R.drawable.greenenroute);
deliver.setImageResource(R.drawable.bluedeliver);
enroute.setMaxWidth(266);
enroute.setMaxHeight(150);
deliver.setMaxWidth(266);
deliver.setMaxHeight(150);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
});
下面的代码是我在 ViewNewOrder.java 上获取已接受状态的地方
accept.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mDatabase.child(getKey()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
dataSnapshot.getRef().child("mcustDeliveryStatus").setValue("Accepted");
Intent orderStatus = new Intent(ViewOrderRequest.this, orderStatus.class);
startActivity(orderStatus);
Toast.makeText(getApplicationContext(),"notification sent to customers",Toast.LENGTH_LONG).show();
//start new activity show root map
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(getApplicationContext(),"not updates",Toast.LENGTH_LONG).show();
}
});
} });
12345678_0001
相关分类