我正在尝试使用红色背景制作所有无线电组,并使用白色背景制作所有单选按钮。使用此代码,所有无线电组都获得红色背景,但只有4个单选按钮的最后一个获得白色背景。我该怎么办,将白色背景设置为所有收音机组的所有单选按钮?
这是我的代码:
finishButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < 4; i++) {
radioGroup[i].setBackgroundColor(Color.RED);
for (int j = 0; j < 4; j++) {
radioButton[j].setBackgroundColor(Color.WHITE);
}
}
}
});
谢谢!
答案 0 :(得分:2)
您的radioButton
数组永远不会更改。它具有与进入循环之前相同的值。试试这个:
finishButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < 4; i++) {
radioGroup[i].setBackgroundColor(Color.RED);
for (int j = 0; j < 4; j++) {
radioGroup[i].getChildAt(j).setBackgroundColor(Color.WHITE);
}
}
}
});
由于我不知道您剩下的代码,您可能会找到一种更智能的方法来访问前三个radioButton数组。
答案 1 :(得分:0)
更简单的方法是使用以下属性在xml中的radioGroup和radioButton中定义背景: -
机器人:背景= “#FF0000”
它会为您的电台组提供红色背景。和
机器人:背景= “#FFFFFF”
它会为您的单选按钮提供白色背景。请注意,如果需要,您需要在所有按钮中定义此属性。