我正在使用此代码显示警告对话框…当我点击确定按钮时,它应显示日期选择器..
protected Dialog onCreateDialog(int id) { switch (id) { case TIME_DIALOG_ID: return new TimePickerDialog(ListReminderActivity.this,mTimeSetListener,mHour,mMinute,false); case DATE_DIALOG_ID: return new DatePickerDialog(ListReminderActivity.this,mDateSetListener,mYear,mMonth,mDay); case DESCRIPTION_DIALOG_ID: return new AlertDialog.Builder(ListReminderActivity.this).setTitle( "Add Reminder").setView(description).setPositiveButton( R.string.add_alert_ok,new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int whichButton) { ListReminderActivity.this .dismissDialog(DESCRIPTION_DIALOG_ID); ListReminderActivity.this .removeDialog(DESCRIPTION_DIALOG_ID); ListReminderActivity.this .showDialog(DATE_DIALOG_ID); } }).setNegativeButton(R.string.add_alert_cancel,int whichButton) { ListReminderActivity.this .dismissDialog(DESCRIPTION_DIALOG_ID); ListReminderActivity.this .removeDialog(DESCRIPTION_DIALOG_ID); } }).create(); } return null; }
但问题是..当我按下确定按钮时,我得到了例外
例外是……
09-09 10:30:48.941: ERROR/AndroidRuntime(1189): FATAL EXCEPTION: main 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): java.lang.IllegalArgumentException: current should be >= start and <= end 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.widget.NumberPicker.setCurrent(NumberPicker.java:288) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.widget.DatePicker.updateDaySpinner(DatePicker.java:364) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.widget.DatePicker.updateSpinners(DatePicker.java:350) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.widget.DatePicker.init(DatePicker.java:346) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.app.DatePickerDialog.<init>(DatePickerDialog.java:124) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.app.DatePickerDialog.<init>(DatePickerDialog.java:83) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at com.app.reminder.ListReminderActivity.onCreateDialog(ListReminderActivity.java:149) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.app.Activity.onCreateDialog(Activity.java:2472) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.app.Activity.createDialog(Activity.java:881) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.app.Activity.showDialog(Activity.java:2547) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.app.Activity.showDialog(Activity.java:2514) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at com.app.reminder.ListReminderActivity$3.onClick(ListReminderActivity.java:164) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.os.Handler.dispatchMessage(Handler.java:99) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.os.Looper.loop(Looper.java:123) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at android.app.ActivityThread.main(ActivityThread.java:4627) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at java.lang.reflect.Method.invokeNative(Native Method) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at java.lang.reflect.Method.invoke(Method.java:521) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 09-09 10:30:48.941: ERROR/AndroidRuntime(1189): at dalvik.system.NativeStart.main(Native Method)
解决方法
如您在日志中看到的错误所示,您的mYear,mMonth或mDay值之一无效.