Android单选按钮第一次尝试时出现错误值
我有个奇怪的问题。在我的android应用程序中,我显示了几个对话框,其中的单选按钮是通过编程创建的。在大多数情况下,单选按钮按预期工作。但在一种情况下,当对话框第一次显示时,单选按钮不起作用。我正在记录所选单选按钮的值,它是-1。如果我取消该对话框并再次显示它,那么它就可以正常工作。下面是出现此问题的代码示例Android单选按钮第一次尝试时出现错误值,android,dialog,listener,Android,Dialog,Listener,我有个奇怪的问题。在我的android应用程序中,我显示了几个对话框,其中的单选按钮是通过编程创建的。在大多数情况下,单选按钮按预期工作。但在一种情况下,当对话框第一次显示时,单选按钮不起作用。我正在记录所选单选按钮的值,它是-1。如果我取消该对话框并再次显示它,那么它就可以正常工作。下面是出现此问题的代码示例 radioClickListener = new RadioGroup.OnCheckedChangeListener() { @Override
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);
radioClickListener=new RadioGroup.OnCheckedChangeListener(){
@凌驾
检查更改后的公共无效(放射组组,int-which){
查看radioButton=RadioButtonGroup.findViewById(哪个);
radioChoice=RadioButtonGroup.indexOfChild(radioButton);
Log.d(标签“radioChoice:”+radioChoice);
Log.d(标签“which:+which”);
开关(无线电选择){
案例0:
//启用“添加白色”复选框
对于(int i=0;iYou可能会失去对RadioButton
addmyRadioBtn.requestFocus()
OK)的关注。我会试试。但为什么一个对话框需要这个,而其他任何对话框都不需要?