0

excuse me, i want to create an auto increment for order_id as a firebase key at my apps that i work on it. But every time i add new order, the previous order_id was replace by a new one. I had try many ways, but the result is nothing, the previous order_id, always replace by a new one.

Here i attach my firebase tree database

enter image description here

And here is my code to add the order to firebase

confirmOrder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ref.addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot snapshot) {
                        for(DataSnapshot dsCart : snapshot.getChildren()){
                            Cart c = dsCart.getValue(Cart.class);
                            if(c.getTableNumber().equals(table)){
                                menuName = c.getMenuName();
                                menuQuantity = c.getQuantity();
                                menuPrice = c.getMenuPrice();
                                menuType = c.getMenuType();
                            }
                            else {
                                Toast.makeText(CartList.this, "No data at Cart", Toast.LENGTH_SHORT).show();
                            }
                            if(table != null){
                                subtotal = Integer.parseInt(txtTotalPrice.getText().toString());
                                pay = Integer.parseInt(edtPayment.getText().toString());
                                change = pay - subtotal;
                                txtChange.setText(String.valueOf(change));
                                Log.d("total", String.valueOf(subtotal));
                                Order ord = new Order(String.valueOf(order_id),table, date, subtotal, pay, change, status);
                                OrderDetails details = new OrderDetails(String.valueOf(order_id), c.getMenuName(), c.getQuantity(), Integer.parseInt(c.getMenuPrice()));

                                refOrder.child(String.valueOf(order_id)).setValue(ord);
                                refOrderDetails.child(String.valueOf(order_id)).push().setValue(details);
                                
                                order_id++;
                                ref.removeValue();
                            }
                        }
                    }

I very thank full for any sugesttion and feedback.

Anonymous Asked question May 14, 2021