Product Subtract Button is not working perfectly in ecommerce app

Viewed 26

I am facing issue while subtracting my product, I am using three buttons to get the value of the selected one and then multiply these value for add more product or subtract . But when i click on subtract button it will minus the whole amount. So please help me in this. Below mention is my code. If you want some more info then please ask me.

public class ShowDetailActivity extends AppCompatActivity {

    private TextView addToCardBtn;
    private TextView titleTxt, feeTxt, descriptionTxt, numberOrderTxt;
    private ImageView plusBtn, minusBtn, picFood, priceBtn, mediumPriceBtn, largePriceBtn;
    private ProductsDomain object;
    private int numberOrder = 1;
    private ManagementCart managementCart;
    private LinearLayout cheese_ll;
    private LinearLayout scale_ll;
    private int itemPrice;
    private CheckBox cheeseBoxyes;
    private int price;
    private int checkvalue;
    private int uncheckValue;
    private boolean cheeseBoolean = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_show_detail);

        managementCart = new ManagementCart(this);

        initView();
        getBundle();

        //Button Code
        price=object.getPrice();

        priceBtn.setOnClickListener(this::onClick);
        mediumPriceBtn.setOnClickListener(this::onClick);
        largePriceBtn.setOnClickListener(this::onClick);

        //check box code for extra cheese



    }



    private void onClick(View view) {
    int id=view.getId();
    switch (id){
        case R.id.smallPriceBtn:
            price=object.getPrice();
            itemPrice=object.getPrice();
            feeTxt.setText(Integer.toString(price*numberOrder));

            break;

        case R.id.mediumPriceBtn:
            price = object.getMediumPrice();
            feeTxt.setText(Integer.toString(price*numberOrder));
            itemPrice=object.getMediumPrice();
            break;
        case R.id.largePriceBtn:
            price = object.getLargePrice();
            feeTxt.setText(Integer.toString(price*numberOrder));
            itemPrice=object.getLargePrice();
            break;
    }
}


    private void getBundle() {
        object = (ProductsDomain) getIntent().getSerializableExtra("object");

        if (object.getWithCheese() == 1)//get cheese
        {
            cheese_ll.setVisibility(View.VISIBLE);
            scale_ll.setVisibility(View.GONE);

        } else {
            cheese_ll.setVisibility(View.GONE);
            scale_ll.setVisibility(View.VISIBLE);
        }


        Glide.with(this).load("http://192.168.100.215/pizzaVill/Images/" + object.getImage()).into(picFood);
        titleTxt.setText(object.getName());
        descriptionTxt.setText(object.getDescription());
        numberOrderTxt.setText(Integer.toString(numberOrder));
        feeTxt.setText(Integer.toString(object.getPrice()));


        plusBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                numberOrder = numberOrder + 1;
                numberOrderTxt.setText(Integer.toString(numberOrder));
                feeTxt.setText(Integer.toString(numberOrder * price));

                //Code if there is no size required


            }
        });

        minusBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (numberOrder > 1) {
                    numberOrder = numberOrder - 1;
                }
                numberOrderTxt.setText(Integer.toString(numberOrder));
                feeTxt.setText(Integer.toString(price - itemPrice));

            }
        });

        addToCardBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                object.setNumberInCard(numberOrder);
                object.setFinalPrice(price);
                managementCart.insertFood(object);
            }
        });
    }

    private void initView() {
        addToCardBtn = findViewById(R.id.addToCardBtn);
        titleTxt = findViewById(R.id.titleTxt);
        feeTxt = findViewById(R.id.priceTxt);
        descriptionTxt = findViewById(R.id.descriptionTxt);
        numberOrderTxt = findViewById(R.id.numberOrderTxt);
        plusBtn = findViewById(R.id.plusBtn);
        minusBtn = findViewById(R.id.minusBtn);
        picFood = findViewById(R.id.foodPic);
        priceBtn = findViewById(R.id.smallPriceBtn);
        mediumPriceBtn = findViewById(R.id.mediumPriceBtn);
        largePriceBtn = findViewById(R.id.largePriceBtn);
        cheese_ll = findViewById(R.id.cheese_ll);
        scale_ll = findViewById(R.id.scale_ll);
        cheeseBoxyes = findViewById(R.id.cheeseBoxyes);
    }
0 Answers
Related