У меня есть некоторые проблемы. Я хочу получить значение состояния для заказа, во-первых, когда Заказчик создает заказ, значение будет добавлено в базу данных «Ожидание», после чего клиент будет ждать, пока Водитель примет заказ, затем изменит значение с «Ожидание». на «Принято».
public class C_Offers extends AppCompatActivity {
String OrderID;
String phoneNO;
String State = null;
DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_c_offers);
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
phoneNO = bundle.getString("Phone");
OrderID = bundle.getString("OrderID");
}
databaseReference = FirebaseDatabase.getInstance().getReference().child("Users").child("Customer").child(phoneNO).child("Order").child(OrderID);
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
State = dataSnapshot.child("State").getValue(String.class);
Toast.makeText(C_Offers.this, "State : "+State, Toast.LENGTH_SHORT).show();
if (State.equals("Accepted")) {
startActivity(new Intent(C_Offers.this, C_Order.class));
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
при использовании этого
Toast.makeText(C_Offers.this, "State : "+State, Toast.LENGTH_SHORT).show();
выведет «Ожидание», после изменения значение на стороне водителя изменится и напечатает «Принято»
Точная проблема заключается в этом
if (State.equals("Accepted")) {
startActivity(new Intent(C_Offers.this, C_Order.class));
}
Сначала не читайте и не закрывайте приложение, go для создания макета. Мне нужно проверить, изменилось ли значение Firebase на «Принят» или нет, если изменилось go к новой деятельности это то, что я хочу