Java 尝试调用虚拟方法';void android.widget.RadioGroup.addView(android.view.view)和#x27;关于空对象引用
我是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)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
在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);