Android 当前时间选择器
大家好,我正在努力改变时间选择器对话框显示时的时间的想法 以下是Android SDK参考中关于onPrepareDialog方法的引用 提供机会准备 管理对话框,然后再将其删除 展示。默认实现 通过onPrepareDialog(int, 对话框)以获得兼容性。推翻 如果您需要更新托管 对话框的状态 每次显示应用程序时。对于 例如,可能会出现一个时间选择器对话框 希望使用当前的 时间你应该打电话给警察局 超类的实现。这个 默认实现将设置此值 作为所有者的活动 对话 onCreateDialog方法将创建的dialog作为参数传递给onPrepareDialog,但如何实际更改此对话框中的小时和分钟 谢谢 好了,伙计们,我找到了答案,这是我的首选活动代码的一部分:Android 当前时间选择器,android,time,dialog,picker,Android,Time,Dialog,Picker,大家好,我正在努力改变时间选择器对话框显示时的时间的想法 以下是Android SDK参考中关于onPrepareDialog方法的引用 提供机会准备 管理对话框,然后再将其删除 展示。默认实现 通过onPrepareDialog(int, 对话框)以获得兼容性。推翻 如果您需要更新托管 对话框的状态 每次显示应用程序时。对于 例如,可能会出现一个时间选择器对话框 希望使用当前的 时间你应该打电话给警察局 超类的实现。这个 默认实现将设置此值 作为所有者的活动 对话 onCreateDialo
protected void onPrepareDialog(int id, Dialog dialog) {
if (id == DIALOG_MAX_AGE) {
SharedPreferences myPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
int time = myPref.getInt(getString(R.string.pr_maxtmagekey), 15);
int h = time / 100;
int m = time - h * 100;
((TimePickerDialog)dialog).updateTime(h, m);
}
}
updateTime可以做到这一点。您可以尝试以下方法: 在onCreate()或任何需要的地方,使用典型Java代码获取当前时间:
Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
然后,在设置时间选择器时,执行以下操作:
... new DatePickerDialog(this, aDateListener, year, month, day);
然后,当你打开时间桩时,它将始终显示当前时间。谢谢费德里科,事实上我找到了方法。在onPrepareDialog中,我只调用((TimePickerDialog)对话框).updateTime(h,m)-h和m我实际上是从首选项中读取的,但不知道。通过这种方式,“时间选择器”对话框将在显示前读取当前时间,而不是在创建时间。