我已经开发了一个动态的调查问卷用户界面,其中的问题回答为“是”或“否”。对于答案为“是/否”的问题,我选择了广播组作为用户输入。每次选择特定的radioGroup选项(是/否)时,如何更改单选按钮的颜色?我已经完成了以下实施,但无法正常工作。
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));
}
答案 0 :(得分:0)
在xml中的所有单选按钮上添加onclick
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));