如何在运行时更改RadioGroup的背景颜色?

3

我正在尝试动态生成单选按钮的单选组。我有一个单选组,其中包含三个单选按钮。在运行时,我想进行验证,如果没有选中任何单选按钮,则将单选组的背景颜色设置为红色,表示警告。

For the purpose I am using

public String validate() {
    if (radioGroup.findViewById(radioGroup.getCheckedRadioButtonId()) != null){
        return "SUCCESS";
    } else {
        radioGroup.setBackgroundResource(R.drawable.red_border);
        return "failure";
    }

}

但是在这里,对于radioGroup背景不会改变,我已经尝试了类似的方法去处理editText和DatePicker,在那些情况下都起作用。

这段代码对我来说可行...至少设置了背景。 - Szymon
1个回答

1
我们可以通过循环遍历radioGroup的子元素来实现这一点。
for (int i = 0; i < radioGroup.getChildCount(); ++i) {
    ((RadioButton) radioGroup.getChildAt(i))
    .setBackgroundResource(R.drawable.red_border);
}

这将循环遍历RadioGroup的每个子项,这样我们就可以实现所需的功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接