Когда переключатель или флажок установлен, цена рассчитывается - PullRequest
0 голосов
/ 09 ноября 2018

Я создаю приложение, которое позволяет пользователю самостоятельно выбирать.

Могу ли я узнать, как это сделать? Кажется, что цена не включена, когда переключатель или флажок нажаты. Пожалуйста, помогите мне. Это логически неправильно или синтаксис неверен?

radioGroup1=(RadioGroup)findViewById(R.id.radioGroup_1);

radioGroup1.setOnCheckedChangeListener(
    new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
            String tempSize="Choose your size";
            double SPrice=0;
            switch (radioGroup1.getCheckedRadioButtonId()){
                case R.id.radioButton_munch:
                    tempSize="Personal Pan";
                    SPrice=5;
                    break;
                case R.id.radioButton_hungry:
                    tempSize="Regular Pan";
                    SPrice=9;
                    break;
                case R.id.radioButton_horse:
                    tempSize="Large Pan";
                    SPrice=12;
                    break;
            }
            Size.setText(tempSize);
            SizePrice = SPrice;
        }
    });

checkBoxListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Topping = (TextView)findViewById(R.id.textView_TopAns);
            Topping.setText(" ");

            if(ChkCheese.isChecked()){
                Topping.setText(Topping.getText().toString() + ChkCheese.getText().toString());
                ToppingPrice=2.5;
            }
            if(ChkMushroom.isChecked()){
                Topping.setText(Topping.getText().toString() + "," + ChkMushroom.getText().toString());
                ToppingPrice=1;
            }

        };
        ChkCheese.setOnClickListener(checkBoxListener);
        ChkMushroom.setOnClickListener(checkBoxListener);

        TotalPrice = SizePrice + CrustPrice + ToppingPrice;
        Price.setText("$" + TotalPrice );
    }
}

1 Ответ

0 голосов
/ 09 ноября 2018

Введите этот код:

TotalPrice = SizePrice + CrustPrice + ToppingPrice;
Price.setText("$" + TotalPrice );

внутри onClick() метода:

    @Override
    public void onClick(View v) {
        Topping = (TextView)findViewById(R.id.textView_TopAns);
        Topping.setText(" ");

        if(ChkCheese.isChecked()){
            Topping.setText(Topping.getText().toString() + ChkCheese.getText().toString());
            ToppingPrice=2.5;
        }
        if(ChkMushroom.isChecked()){
            Topping.setText(Topping.getText().toString() + "," + ChkMushroom.getText().toString());
            ToppingPrice=1;
        }
        TotalPrice = SizePrice + CrustPrice + ToppingPrice;
        Price.setText("$" + TotalPrice );   

    };

, поэтому он выполняется при каждом нажатии на флажок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...