大家好,我正在努力改变时间选择器对话框的显示时间。
以下是有关 onPrepareDialog 方法的Android SDK参考的引文
提供准备的机会 托管对话之前 所示。默认实现 调用onPrepareDialog(int, 对话框)兼容性。覆盖 如果您需要更新托管,请执行此操作 基于状态的对话框 应用程序每次显示时。对于 例如,时间选择器对话框可能 想要用当前的更新 时间。你应该打电话给 超类的实现。该 默认实现将设置此 作为业主活动的活动 对话框
onCreateDialog 方法将创建的对话框传递给 onPrepareDialog 作为参数,但如何在此对话框中实际更改小时和分钟?
由于
好的我找到了答案,这是我的PreferenceActivity代码的一部分:
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做的事情。
答案 0 :(得分:4)
您可以尝试这样的事情:
在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);
然后,当您打开时间时,它将始终显示当前时间。