我正在嘗試在用戶按下途中按鈕后將我的 mcustDelivery 狀態(tài)從 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 上獲取已接受狀態(tài)的地方 accept.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDatabase.child(getKey()).addValueEventListener(new ValueEventListener() {@Overridepublic 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}@Overridepublic void onCancelled(@NonNull DatabaseError databaseError) { Toast.makeText(getApplicationContext(),"not updates",Toast.LENGTH_LONG).show();}});} });
Firebase 數(shù)據(jù)不斷循環(huán)
慕尼黑5688855
2023-08-04 15:14:36