首页 > 解决方案 > 产品减去按钮在电子商务应用程序中无法正常工作

问题描述

我在减去我的产品时遇到问题,我正在使用三个按钮来获取所选值的值,然后将这些值相乘以添加更多产品或减去。但是当我点击减法按钮时,它会减去全部金额。所以请帮助我。下面提到的是我的代码。如果您想了解更多信息,请问我。

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);
    }

标签: javaandroidandroid-studio

解决方案


推荐阅读