Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中更新时选中复选框?_Android_Radio Group - Fatal编程技术网

如何在android中更新时选中复选框?

如何在android中更新时选中复选框?,android,radio-group,Android,Radio Group,我有一个单选组,有两个单选按钮(自动投递和公司投递)。在申请表中,当用户选择任何一个单选按钮时。我得到单选按钮的文本,并使用此代码插入数据库 Form.java radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup arg0, int arg1) {

我有一个单选组,有两个单选按钮(自动投递和公司投递)。在申请表中,当用户选择任何一个单选按钮时。我得到单选按钮的文本,并使用此代码插入数据库

Form.java

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(RadioGroup arg0, int arg1) {
                // TODO Auto-generated method stub
             selectedId = radioGroup.getCheckedRadioButtonId();

                // find the radiobutton by returned id
                    radioButton = (RadioButton) findViewById(selectedId);


                    if(radioButton.isChecked()){
                         OPTIONS=radioButton.getText().toString();
                        if(OPTIONS.equals("SelfDelivery")){
                            deliveryAddress.setVisibility(View.GONE);
                            deliveryEdit.setVisibility(View.GONE);  


                        }else{
                            deliveryAddress.setVisibility(View.VISIBLE);
                            deliveryEdit.setVisibility(View.VISIBLE);   
                        }
                    }
            }
        });
当用户想要编辑表单时,我正在创建一个新的屏幕来编辑和更新详细信息。通过使用代码

EditForm.java

final String ram=extras.getString(openHelper_ob.DELIVERY_OPTIONS);// getting the option from Form.java to EditForm.java

        OPTIONS=ram;

        if(OPTIONS.equals("CompanyDelivery")){
        radioButtonCompany.setChecked(true);
            deliveryText.setVisibility(View.VISIBLE);
            editAddress.setVisibility(View.VISIBLE);
        }else if(OPTIONS.equals("SelfDelivery")){
            radioButtonSelf.setChecked(true);
            deliveryText.setVisibility(View.GONE);
            editAddress.setVisibility(View.GONE);
        }



         radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(RadioGroup arg0, int arg1) {
                    // TODO Auto-generated method stub
                 selectedId = radioGroup.getCheckedRadioButtonId();

                    // find the radiobutton by returned id
                        radioButton = (RadioButton) findViewById(selectedId);


                        if(radioButton.isChecked()){
                             OPTIONS=radioButton.getText().toString();
                            if(OPTIONS.equals("SelfDelivery")){
                                deliveryText.setVisibility(View.GONE);
                                editAddress.setVisibility(View.GONE);   


                            }else{
                                deliveryText.setVisibility(View.VISIBLE);
                                editAddress.setVisibility(View.VISIBLE);    
                            }
                        }
                }
            });
我想根据用户选择使radiobutton为真,同时返回编辑页面。 例如:如果用户选择了公司交货,当用户要在交货选项中编辑表单时,应在编辑页面中选中公司交货

我犯了一个错误

radioButtonCompany.setChecked(真)

错误是

10-10 04:41:20.721: E/AndroidRuntime(794): FATAL EXCEPTION: main
10-10 04:41:20.721: E/AndroidRuntime(794): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android/com.example.android.EditBookingForm}: java.lang.NullPointerException
10-10 04:41:20.721: E/AndroidRuntime(794):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
10-10 04:41:20.721: E/AndroidRuntime(794):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
10-10 04:41:20.721: E/AndroidRuntime(794):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-10 04:41:20.721: E/AndroidRuntime(794):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
10-10 04:41:20.721: E/AndroidRuntime(794):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-10 04:41:20.721: E/AndroidRuntime(794):  at android.os.Looper.loop(Looper.java:137)
10-10 04:41:20.721: E/AndroidRuntime(794):  at android.app.ActivityThread.main(ActivityThread.java:5041)
10-10 04:41:20.721: E/AndroidRuntime(794):  at java.lang.reflect.Method.invokeNative(Native Method)
10-10 04:41:20.721: E/AndroidRuntime(794):  at java.lang.reflect.Method.invoke(Method.java:511)
10-10 04:41:20.721: E/AndroidRuntime(794):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
10-10 04:41:20.721: E/AndroidRuntime(794):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
10-10 04:41:20.721: E/AndroidRuntime(794):  at dalvik.system.NativeStart.main(Native Method)
10-10 04:41:20.721: E/AndroidRuntime(794): Caused by: java.lang.NullPointerException

如果没有Logcat打印输出,就没有什么可做的了,我可以做的唯一假设是,您在radioButtonCompany的布局中没有找到合适的id,并且得到了一个空指针错误

或者,您正试图在UI线程外部修改单选按钮的检查状态,因此需要在runOnUIThread(){}子句中包围setChecked。但额外的LogCat输出将有很大帮助