Android dialogfragment中的空指针异常

Android dialogfragment中的空指针异常,android,nullpointerexception,android-dialog,android-dialogfragment,android-calendar,Android,Nullpointerexception,Android Dialog,Android Dialogfragment,Android Calendar,我试图在对话框中显示日历视图。 下面是代码。 当我单击启动对话框的按钮时,应用程序会崩溃,出现NullPointerException。 本例中的空指针是“cal”变量 这是在生产线上进行的: cal=(CalendarView)CalendarDialog.findViewById(R.id.calendarView1); 我的布局文件是: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android

我试图在对话框中显示日历视图。 下面是代码。 当我单击启动对话框的按钮时,应用程序会崩溃,出现
NullPointerException
。 本例中的空指针是“cal”变量 这是在生产线上进行的:

cal=(CalendarView)CalendarDialog.findViewById(R.id.calendarView1); 我的布局文件是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <CalendarView
        android:id="@+id/calendarView1"
        android:layout_width="match_parent"
        android:layout_height="300dp"

        />

</RelativeLayout>

使用CalendarDialog.setView并不意味着CalendarDialog现在将显示视图或xml布局。您应该在单独的视图组中展开布局,然后在此视图中按Id查找视图,然后使用setView将视图组放入对话框中。

使用CalendarDialog.setView并不意味着CalendarDialog现在将显示视图或xml布局。您应该在一个单独的视图组中展开布局,然后在此视图中按Id查找视图,然后使用setView将视图组放入对话框中。

如下所示:

public Dialog onCreateDialog(Bundle onSaveInstanceState) {
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            LayoutInflater inflater = getActivity().getLayoutInflater();
            View v= inflater.inflate(R.layout.calendarpopup, null);
            final CalendarView cal= (CalendarView)v.findViewById(R.id.calendarView1);
如下图所示

public Dialog onCreateDialog(Bundle onSaveInstanceState) {
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            LayoutInflater inflater = getActivity().getLayoutInflater();
            View v= inflater.inflate(R.layout.calendarpopup, null);
            final CalendarView cal= (CalendarView)v.findViewById(R.id.calendarView1);

请从LogCat添加堆栈跟踪堆栈跟踪中的第一行是什么,它指的是您自己代码中的类和方法?请从LogCat添加堆栈跟踪堆栈跟踪中的第一行是什么,它指的是您自己代码中的类和方法?充气器和v之间的链接是什么?抱歉,我忘了写充气线谢谢@talhakosen…解决了,你是welcone。顺便说一句,我的答案是@snicolas answer的一个例子。充气机和v之间有什么联系?对不起,我忘了写充气线谢谢@talhakosen…这就解决了。你是welcone。顺便说一下,我的答案是@snicolas answer的一个例子。
public Dialog onCreateDialog(Bundle onSaveInstanceState) {
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            LayoutInflater inflater = getActivity().getLayoutInflater();
            View v= inflater.inflate(R.layout.calendarpopup, null);
            final CalendarView cal= (CalendarView)v.findViewById(R.id.calendarView1);