我有一个奇怪的问题。在我的Android应用程序中,我显示几个带有以编程方式创建的单选按钮的对话在大多数情况下,单选按钮按预期工作。但在一种情况下,当第一次显示对话框时,单选按钮不起作用。我登录所选单选按钮的值,它是-1。如果我取消对话框并再次显示它,那么它可以正常工作这是我的代码示例,其中出现此问题。
radioClickListener = new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int which) {
View radioButton = RadioButtonGroup.findViewById(which);
radioChoice = RadioButtonGroup.indexOfChild(radioButton);
Log.d(TAG, "radioChoice: " + radioChoice);
Log.d(TAG, "which: " + which);
switch(radioChoice){
case 0:
//Enable add_white_checkboxes
for(int i=0; i<add_white_checkboxes.length; i++){
add_white_checkboxes[i].setEnabled(true);
}
//Disable remove_white_checkboxes
for(int i=0; i<remove_white_checkboxes.length; i++){
remove_white_checkboxes[i].setEnabled(false);
}
//Disable add_black_checkboxes
for(int i=0; i<add_black_checkboxes.length; i++){
add_black_checkboxes[i].setEnabled(false);
}
break;
case 2:
//Disable add_white_checkboxes
for(int i=0; i<add_white_checkboxes.length; i++){
add_white_checkboxes[i].setEnabled(false);
}
//Enable remove_white_checkboxes
for(int i=0; i<remove_white_checkboxes.length; i++){
remove_white_checkboxes[i].setEnabled(true);
}
//Disable add_black_checkboxes
for(int i=0; i<add_black_checkboxes.length; i++){
add_black_checkboxes[i].setEnabled(false);
}
break;
case 4:
//Disable add_white_checkboxes
for(int i=0; i<add_white_checkboxes.length; i++){
add_white_checkboxes[i].setEnabled(false);
}
//Disable remove_white_checkboxes
for(int i=0; i<remove_white_checkboxes.length; i++){
remove_white_checkboxes[i].setEnabled(false);
}
//Enable add_black_checkboxes
for(int i=0; i<add_black_checkboxes.length; i++){
add_black_checkboxes[i].setEnabled(true);
}
break;
case 6:
//Disable add_white_checkboxes
for(int i=0; i<add_white_checkboxes.length; i++){
add_white_checkboxes[i].setEnabled(false);
}
//Disable remove_white_checkboxes
for(int i=0; i<remove_white_checkboxes.length; i++){
remove_white_checkboxes[i].setEnabled(false);
}
//Disable add_black_checkboxes
for(int i=0; i<add_black_checkboxes.length; i++){
add_black_checkboxes[i].setEnabled(false);
}
break;
}
}
};
RadioButtonGroup.setOnCheckedChangeListener(radioClickListener);
第一次显示对话框时,radioChoice记录为-1。对于其他对话框我和其他OnCheckedChangeListener做同样的事情,一切正常。 以前有人遇到过这种行为吗?有人可以帮忙吗?