Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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
Java 尝试调用虚拟方法';void android.widget.RadioGroup.addView(android.view.view)和#x27;关于空对象引用_Java_Android_Android Studio_Radio Group - Fatal编程技术网

Java 尝试调用虚拟方法';void android.widget.RadioGroup.addView(android.view.view)和#x27;关于空对象引用

Java 尝试调用虚拟方法';void android.widget.RadioGroup.addView(android.view.view)和#x27;关于空对象引用,java,android,android-studio,radio-group,Java,Android,Android Studio,Radio Group,我是android的初学者,我使用的是java语言,而不是Kotlin。基本上,我显示了一个自定义警报对话框后,按下按钮,在一个警报对话框有两个单选按钮。但问题是,在单击按钮以显示自定义对话框后,它会崩溃,显示空点异常。下面是代码和日志 CustomDialog.java 自定义对话框.xml 日志 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.widget.RadioGroup.addView(android.view.v

我是android的初学者,我使用的是java语言,而不是Kotlin。基本上,我显示了一个自定义警报对话框后,按下按钮,在一个警报对话框有两个单选按钮。但问题是,在单击按钮以显示自定义对话框后,它会崩溃,显示空点异常。下面是代码和日志

CustomDialog.java

自定义对话框.xml

日志

java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“void android.widget.RadioGroup.addView(android.view.view)” 在com.nabil.myapplication.CustomDialog.onCreateDialog(CustomDialog.java:33)上 位于android.support.v4.app.DialogFragment.OnGetLayoutFlater(DialogFragment.java:330) 位于android.support.v4.app.Fragment.PerformGetLayoutFlater(Fragment.java:1308) 位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460) 在android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784) 位于android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852) 位于android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802) 位于android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625) 位于android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411) 在android.support.v4.app.FragmentManagerImpl.removedandtoperationsandexecute(FragmentManager.java:2366) 位于android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273) 位于android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733) 位于android.os.Handler.handleCallback(Handler.java:907) 位于android.os.Handler.dispatchMessage(Handler.java:105) 位于android.os.Looper.loop(Looper.java:216) 位于android.app.ActivityThread.main(ActivityThread.java:7625) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)

因为
RadioGroup
custom\u dialog.xml
的一个元素,所以您必须从
custom\u dialog.xml
的视图中找到
RadioGroup
,尝试代码:

LayoutInflater layoutInflater=getActivity().getLayoutInflater();
View view=layoutInflater.inflate(R.layout.custom_dialog,null); //load custom_dialog.xml to View
...
RadioGroup radioGroup=view.findViewById(R.id.radioGroup);     //try to retrieve rarioGroup in custom_dialog.xml

由于
RadioGroup
custom\u dialog.xml
的一个元素,因此您必须从
custom\u dialog.xml
的视图中找到
RadioGroup
,尝试使用以下代码:

LayoutInflater layoutInflater=getActivity().getLayoutInflater();
View view=layoutInflater.inflate(R.layout.custom_dialog,null); //load custom_dialog.xml to View
...
RadioGroup radioGroup=view.findViewById(R.id.radioGroup);     //try to retrieve rarioGroup in custom_dialog.xml
更改此行:

 RadioGroup radioGroup=getActivity().findViewById(R.id.radioGroup);
致:

radioGroup
在您的对话框中

更改此行:

 RadioGroup radioGroup=getActivity().findViewById(R.id.radioGroup);
致:


radioGroup
在您的对话框中

为什么使用getactivity.findviewbyid?仅尝试以下操作:RadioGroup RadioGroup=findViewById(R.id.RadioGroup);为什么要使用getactivity.findviewbyid?仅尝试以下操作:RadioGroup RadioGroup=findViewById(R.id.RadioGroup);
LayoutInflater layoutInflater=getActivity().getLayoutInflater();
View view=layoutInflater.inflate(R.layout.custom_dialog,null); //load custom_dialog.xml to View
...
RadioGroup radioGroup=view.findViewById(R.id.radioGroup);     //try to retrieve rarioGroup in custom_dialog.xml
 RadioGroup radioGroup=getActivity().findViewById(R.id.radioGroup);
RadioGroup radioGroup = view.findViewById(R.id.radioGroup);