Страница 1 из 1

Помогите разобраться новичку с RadioButton

Добавлено: 02 окт 2015, 00:36
dmitriy505
Здравствуйте. Помогите разобраться новичку пожалуйста. Постараюсь внятно описать свой вопрос.

Имеется поле EditText (далее ET) и RadioButton (далее RB) с тремя позициями.

Что нужно? А вот что.

RB по умолчанию на первой позиции. Вводим число в ET. И тут самое интересное.

Если (выбрана позиция 1) парсим значение ET
если (переходим на позицию 2) то результат(парсенное значение) * 1000
если (переходим на позици 3) то результат(парсенное значение) * 1000000

Если (выбрана позиция 2) парсим значение ET
если (переходим на позицию 1) то результат(парсенное значение) / 1000
если (переходим на позицию 3) то результат(парсенное значение) * 1000

Если (выбрана позиция 3) парсим значение ET
если (переходим на позицию 2) то результат(парсенное значение) / 1000
если (переходим на позицию 1) то результат(парсенное значение) / 1000000

Вот как то так. В принципе все понятно как нужно сделать, но у меня не получается с условиями как то. Вот мое начало

Код: Выделить всё

final RadioGroup rGroupDg = (RadioGroup) rootView.findViewById(R.id.rGroupDg); //Определяем Группу радио кнопок Дж
        final RadioButton rBtnDg = (RadioButton) rootView.findViewById(R.id.rBtnDg);
        final RadioButton rBtnKdg = (RadioButton) rootView.findViewById(R.id.rBtnKdg);
        final RadioButton rBtnMdg = (RadioButton) rootView.findViewById(R.id.rBtnMdg);
        final EditText etDg = (EditText) rootView.findViewById(R.id.etDg);//поле ввода и ответа Дж
 
        rGroupDg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
 
                      @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // TODO Auto-generated method stub
 
                double resultDg = Double.parseDouble(etDg.getText().toString());
 
                switch (checkedId) {
                    case R.id.rBtnDg:
                    if (rBtnMdg!=null){
                        etDg.setText(""+resultDg*1000000);
 
                    }
                       else if (rBtnKdg!=null){
                        etDg.setText(""+resultDg*1000);
 
                    }
                     Toast.makeText(getContext(), "Ваш выбор:  "+getString(R.string.rBtnNameDg), Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.rBtnKdg:
                        if (rBtnMdg!=null){
                            etDg.setText(""+resultDg/1000);
 
                        }
                        else if (rBtnDg!=null){
                            etDg.setText(""+resultDg*1000);
 
                        }
 
                        Toast.makeText(getContext(), "Ваш выбор:  "+getString(R.string.rBtnNameKdg), Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.rBtnMdg:
                        if (rBtnDg!=null){
                            etDg.setText(""+resultDg/1000000);
 
                        }
                        else if (rBtnKdg!=null){
                            etDg.setText(""+resultDg/1000);
 
                        }
 
                        Toast.makeText(getContext(), "Ваш выбор:  "+getString(R.string.rBtnNameMdg), Toast.LENGTH_SHORT).show();
                        break;
 
                    default:
                        break;
                }
            }
        });

Re: Помогите разобраться новичку с RadioButton

Добавлено: 05 окт 2015, 15:28
dmitriy505
Что я делаю не правильно? Не отрабатывают условия

Код: Выделить всё

final RadioGroup radiogroup = (RadioGroup) findViewById(R.id.rGroup);

        radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            RadioButton rB3 = (RadioButton)findViewById(R.id.rB3);
            RadioButton rB2 = (RadioButton)findViewById(R.id.rB2);
            RadioButton rB1 = (RadioButton)findViewById(R.id.rB1);
            EditText eT = (EditText)findViewById(R.id.eT);


            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // TODO Auto-generated method stub


                switch (checkedId) {
                    case R.id.rB1:
                        if (rB1 != null) { //Если предыдущая кнопка
                            int checkedRadioButtonId = radiogroup.getCheckedRadioButtonId(); // смотрим идентификатор кнопки
                            if (checkedRadioButtonId==R.id.rB3){ //если идентификатор равен третьей кнопки то..
                                eT.setText("Переход кнопку 1 был с кнопки 3");
                            } else if (checkedRadioButtonId==R.id.rB2){
                                eT.setText("Переход кнопку 1 был с кнопки 2");
                            }
                        }


                        /*Toast.makeText(getContext(), "Ваш выбор:  " + getString(R.string.rBtnNameDg), Toast.LENGTH_SHORT).show();*/
                            break;
                    case R.id.rB2:


                        /*Toast.makeText(getContext(), "Ваш выбор:  " + getString(R.string.rBtnNameKdg), Toast.LENGTH_SHORT).show();*/
                        break;
                    case R.id.rB3:

                        /*Toast.makeText(getContext(), "Ваш выбор:  " + getString(R.string.rBtnNameMdg), Toast.LENGTH_SHORT).show();*/
                        break;

                    default:
                        break;
                }
            }
        });