我正在从事使用 timepickerdialog 设置时间的活动。但是在设置对话框的时间之后,然后当我继续时,我得到了异常
作为:
java.lang.RuntimeException: Unable to pause activity
Caused by: java.lang.NullPointerException
at android.widget.TimePicker.updateInputState(TimePicker.java:995)
at android.widget.TimePicker.onSaveInstanceState(TimePicker.java:640)
at android.view.View.dispatchSaveInstanceState(View.java:13561)
我的代码使用:
点击
showDialog(END_TIME_PICKER_ID);
protected void onPrepareDialog(int id, Dialog 对话框)
case END_TIME_PICKER_ID : endHourOfDay = mEndCalendar.get(Calendar.HOUR_OF_DAY); endMinuteOfDay = mEndCalendar.get(Calendar.MINUTE); ((TimePickerDialog) dialog).updateTime(endHourOfDay, endMinuteOfDay); ((TimePickerDialog) dialog).show(); break;
受保护的对话 onCreateDialog(int id)
case END_TIME_PICKER_ID : return new TimePickerDialog(this, mEndTimeSetListener, endHourOfDay, endMinuteOfDay, false);
准时设置监听器
private TimePickerDialog.OnTimeSetListener mEndTimeSetListener = new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { endHourOfDay = hourOfDay; endMinuteOfDay = minute; GregorianCalendar endCalendar = (GregorianCalendar) mEndCalendar.clone(); endCalendar.set(Calendar.DAY_OF_MONTH, mStartCalendar.get(Calendar.DAY_OF_MONTH)); endCalendar.set(Calendar.HOUR_OF_DAY, endHourOfDay); endCalendar.set(Calendar.MINUTE, endMinuteOfDay); endCalendar.set(Calendar.SECOND, second); }
因此,当我运行上面的代码片段并设置时间选择器之后,然后当我单击播放按钮转到下一个活动时,它会导致此应用程序崩溃。然后它去玩(新活动)
当我单击返回键时,我收到另一个错误。
java.lang.RuntimeException: Unable to start activity ComponentInfo
当我单击确定时,它会再次从活动组开始,并在活动组内使用默认活动。
我觉得所有这些问题都是由时间选择器对话框引起的。如果我不打开时间选择器对话框(编辑时间),一切正常。
如果我对 timepickerdialog 代码做错了什么,请告诉我。