Я устанавливаю функцию обновления, при которой каждый раз, когда пользователь нажимает кнопку, в firestore происходит уменьшение единицы на единицу ... но проблема в том, что она не просто останавливается, когда продолжает снижаться до тех пор, пока значение не достигнет нуля
final String di=getIntent().getStringExtra("DocumentID");
DocumentReference dref=db.collection("User").document(di);
Toast.makeText(managersAction.this," "+di+" "+j,Toast.LENGTH_LONG).show();
dref.addSnapshotListener(new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(
@Nullable DocumentSnapshot documentSnapshot,
@Nullable F irebaseFirestoreException e) {
String space=documentSnapshot.getString("Space");
int s=Integer.parseInt(space);
if(s==0){
AlertDialog.Builder x=
new AlertDialog.Builder( managersAction.this);
x.setMessage("Not Allowed")
.setPositiveButton (android.R.string.ok,null);
AlertDialog v=x.create();
v.show();
}
else{
int newspace = s - 1;
final String sp = Integer.toString(newspace);
Toast.makeText(mnagersAction.this, " "+sp,Toast.LENGTH_LONG).show ();
DocumentReference dref=db.collection("User").document(di);
dref.update("Space",sp);
return;
}
return;
}
});