【发布时间】:2014-09-26 18:23:03
【问题描述】:
我正在处理使用 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 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); }
因此,当我运行上面的 sn-p 并设置时间选择器之后,然后当我单击播放按钮转到下一个活动时,它会导致此应用程序崩溃。 然后它开始播放(新活动)
当我点击返回键时,我得到另一个错误。
java.lang.RuntimeException: Unable to start activity ComponentInfo
当我点击确定时,它再次从活动组开始,活动组内的默认活动。
我觉得所有这些问题都是由时间选择器对话框引起的。 如果我不打开时间选择器对话框(编辑时间),一切正常。
如果我对 timepickerdialog 代码做错了什么,请告诉我。
【问题讨论】:
-
您是否在清单中定义了活动?
标签: android android-timepicker