Android单选按钮第一次尝试时出现错误值

Android单选按钮第一次尝试时出现错误值,android,dialog,listener,Android,Dialog,Listener,我有个奇怪的问题。在我的android应用程序中,我显示了几个对话框,其中的单选按钮是通过编程创建的。在大多数情况下,单选按钮按预期工作。但在一种情况下,当对话框第一次显示时,单选按钮不起作用。我正在记录所选单选按钮的值,它是-1。如果我取消该对话框并再次显示它,那么它就可以正常工作。下面是出现此问题的代码示例 radioClickListener = new RadioGroup.OnCheckedChangeListener() { @Override

我有个奇怪的问题。在我的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);
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
add
myRadioBtn.requestFocus()
OK)的关注。我会试试。但为什么一个对话框需要这个,而其他任何对话框都不需要?