Android:Datepicker对话框放入选项卡时会导致崩溃

Android:Datepicker对话框放入选项卡时会导致崩溃,android,tabs,datepicker,Android,Tabs,Datepicker,我已经成功地创建了一个日期选择器对话框,并在其中一个选项卡中添加了该对话框。但是我想要实现的是在一个选项卡中创建一个选项卡,该选项卡的内容就是我的日期选择器。问题是它崩溃了 所以基本上我想要实现的就是这样 表1_ logcat报告 02-03 18:49:47.063: E/AndroidRuntime(1651): FATAL EXCEPTION: main 02-03 18:49:47.063: E/AndroidRuntime(1651): android.view.WindowManag

我已经成功地创建了一个日期选择器对话框,并在其中一个选项卡中添加了该对话框。但是我想要实现的是在一个选项卡中创建一个选项卡,该选项卡的内容就是我的日期选择器。问题是它崩溃了

所以基本上我想要实现的就是这样

表1_

logcat报告

02-03 18:49:47.063: E/AndroidRuntime(1651): FATAL EXCEPTION: main
02-03 18:49:47.063: E/AndroidRuntime(1651): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@53238480 is not valid; is your activity running?
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.view.ViewRootImpl.setView(ViewRootImpl.java:567)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:246)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.app.Dialog.show(Dialog.java:281)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at com.example.androidtablayout.$1.onClick(Act.java:111)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.view.View.performClick(View.java:4204)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.view.View$PerformClick.run(View.java:17355)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.os.Handler.handleCallback(Handler.java:725)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.os.Handler.dispatchMessage(Handler.java:92)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.os.Looper.loop(Looper.java:137)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at android.app.ActivityThread.main(ActivityThread.java:5041)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at java.lang.reflect.Method.invokeNative(Native Method)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at java.lang.reflect.Method.invoke(Method.java:511)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
02-03 18:49:47.063: E/AndroidRuntime(1651):     at dalvik.system.NativeStart.main(Native Method)
02-03 18:49:47.071: W/ActivityManager(475):   Force finishing activity com.example.androidtablayout/.AndroidTabLayoutActivity
日期选择器的代码段

inputDate.setOnClickListener(new OnClickListener() {

            public void onClick(View view)


            {
                int mYear, mMonth, mDay;

                final Calendar c = Calendar.getInstance();
                mYear = c.get(Calendar.YEAR);
                mMonth = c.get(Calendar.MONTH);
                mDay = c.get(Calendar.DAY_OF_MONTH);
                DatePickerDialog dpd = new DatePickerDialog(Act.this,
                    new DatePickerDialog.OnDateSetListener() {
                        public void onDateSet(DatePicker view, int year, int month, int day) {

                            c.set(year, month, day);
                            String date = new SimpleDateFormat("yyyy/MM/dd").format(c.getTime());
                            inputStart.setText(date);

                            int mYear = c.get(Calendar.YEAR);
                            int mMonth = c.get(Calendar.MONTH);
                            int mDay = c.get(Calendar.DAY_OF_MONTH);

                             }
                    }, mYear, mMonth, mDay);


                    dpd.show();

            }
        });

看起来日期选择器试图添加到错误的活动中。你能帮我发一些密码吗?就像你调用dialogfragment.Done的那部分。非常感谢。你能详细说明一下你对错误活动的看法吗?我应该在哪一部分检查?什么是VacLeave.class?活动?我粘贴了错误的代码对不起。该类名称为actSo,请重新编辑并粘贴相关代码?
inputDate.setOnClickListener(new OnClickListener() {

            public void onClick(View view)


            {
                int mYear, mMonth, mDay;

                final Calendar c = Calendar.getInstance();
                mYear = c.get(Calendar.YEAR);
                mMonth = c.get(Calendar.MONTH);
                mDay = c.get(Calendar.DAY_OF_MONTH);
                DatePickerDialog dpd = new DatePickerDialog(Act.this,
                    new DatePickerDialog.OnDateSetListener() {
                        public void onDateSet(DatePicker view, int year, int month, int day) {

                            c.set(year, month, day);
                            String date = new SimpleDateFormat("yyyy/MM/dd").format(c.getTime());
                            inputStart.setText(date);

                            int mYear = c.get(Calendar.YEAR);
                            int mMonth = c.get(Calendar.MONTH);
                            int mDay = c.get(Calendar.DAY_OF_MONTH);

                             }
                    }, mYear, mMonth, mDay);


                    dpd.show();

            }
        });