Java 如何设置Android中所有单选组中所有单选按钮的背景
我试图使所有的广播组与红色背景和所有的单选按钮与白色背景。使用此代码,所有单选组都会获得红色背景,但只有最后4个单选按钮才会获得白色背景。我能做些什么,将所有单选按钮的白色背景设置为所有单选组? 这是我的代码:Java 如何设置Android中所有单选组中所有单选按钮的背景,java,android,loops,for-loop,Java,Android,Loops,For Loop,我试图使所有的广播组与红色背景和所有的单选按钮与白色背景。使用此代码,所有单选组都会获得红色背景,但只有最后4个单选按钮才会获得白色背景。我能做些什么,将所有单选按钮的白色背景设置为所有单选组? 这是我的代码: finishButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { for (int i
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);
}
}
}
});
finishButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
对于(int i=0;i<4;i++){
放射组[i].setBackgroundColor(Color.RED);
对于(int j=0;j<4;j++){
单选按钮[j].setBackgroundColor(颜色.白色);
}
}
}
});
谢谢 您的
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);
}
}
}
});
finishButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
对于(int i=0;i<4;i++){
放射组[i].setBackgroundColor(Color.RED);
对于(int j=0;j<4;j++){
放射组[i].getChildAt(j).setBackgroundColor(Color.WHITE);
}
}
}
});
由于我不知道您的剩余代码,您可能会找到一种更智能的方法来访问前三个radioButton阵列 更简单的方法是使用以下属性在xml中的radioGroup和radioButton中定义背景:- android:background=“#FF0000” 它将为您的广播组提供红色背景。及 android:background=“#FFFFFF”
它将为您的单选按钮提供白色背景。注意,如果您希望在所有按钮中定义此属性,则需要在所有按钮中定义此属性。显然,他希望在单击时动态地执行此操作。您将如何在XML中执行此操作?@Hermann-Hmm,我不知道OP是否编写了动态操作。谢谢,但我需要动态操作。您想在第二个循环中使用
j
作为子循环的计数器是行不通的。只有第一个单选组中的第一个单选按钮获得白色背景,只有第二个单选组中的第二个单选按钮获得白色背景,只有第三个单选组中的第三个单选按钮获得白色背景,而从第四个单选组中的第四个单选按钮获得白色背景。@AlexM。好吧,看看JonnyAW的提示,再试一次。对于radioGroup[]
来说是i
,对于getChildAt()
来说是j
,没有问题,但是“接受”是什么意思呢?我是新来的。