我正在使用这段代码来显示警告对话框……当我点击“确定”按钮时,它应该显示日期选择器。
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,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
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
的值是多少?你有初始化它们吗? - st0le