Android收音机按钮首次尝试虚假值

时间:2014-07-03 17:49:06

标签: android dialog listener

我有一个奇怪的问题。在我的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做同样的事情,一切正常。 以前有人遇到过这种行为吗?有人可以帮忙吗?

0 个答案:

没有答案