Изменить цвет radioButon, когда в Android выбран один из параметров - PullRequest
0 голосов
/ 21 января 2019

Я разработал динамический интерфейс вопросов для опроса, где у меня есть вопросы, отвечающие «ДА» или «НЕТ». Для вопросов с ответами Да / Нет, я выбрал радио-группу для ввода данных пользователем. Как изменить цвет радиокнопки Выделить цвет для конкретного вопроса, когда каждый раз выбирается конкретная опция радиогруппы (да / нет)? Я выполнил следующую реализацию, но она не работает.

 final AppCompatRadioButton[] rb = new AppCompatRadioButton[2];
 final RadioGroup rg = new RadioGroup(context); //create the RadioGroup
 rg.setOrientation(RadioGroup.HORIZONTAL);//or RadioGroup.VERTICAL
 String[] options = context.getResources().getStringArray(R.array.radio_options_yes_no);

   if (questionList.get(j).getQuestionId().matches("3|16|24"))
   {                    
        rb[0].setHighlightColor(context.getResources().getColor(R.color.red));
        rb[0].setTextColor(context.getResources().getColor(R.color.red));
   }

   //for yes as unsafe option
   else if (questionList.get(j).getQuestionId().matches("21|23|30|32")){
         rb[1].setHighlightColor(context.getResources().getColor(R.color.red));
         rb[1].setTextColor(context.getResources().getColor(R.color.red));
   }

1 Ответ

0 голосов
/ 21 января 2019

добавить этот клик по всем переключателям в xml

    android:onClick="onRadioButtonClicked"

теперь добавьте метод onRadioButtonCliked

public void onRadioButtonClicked(View view) {
// Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();

// Check which radio button was clicked
switch(view.getId()) {
    case R.id.radio_pirates:
        if (checked)
            // Pirates are the best
        break;
    case R.id.radio_ninjas:
        if (checked)
            // Ninjas rule
        break;
}

}

Теперь примените вашу логику здесь и измените цвет, используя этот код

.setTextColor(context.getResources().getColor(R.color.red));

вот ссылка для дальнейшего чтения
для изменения цвета круга радиокнопки

...