在android中设置DatePicker日期
我需要在我的应用程序中使用日期选择器对话框。首先,我打开日期选择器对话框,然后选择日期。下次每次打开Date pickerDialog时,日期选择器的日期应该是设备的当前日期。但是,它会在对话框中显示上次选择的日期。请帮我设置代码。这里是我的代码,因为我有现在:在android中设置DatePicker日期
@Override
protected Dialog onCreateDialog(int id)
{
switch (id)
{
case DATE_DIALOG_ID:
Date d=new Date();
Calendar c=Calendar.getInstance();
c.setTimeZone(tz);
c.setTime(d);
d=c.getTime();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
DatePickerDialog datePicker
= new DatePickerDialog(this, datePickerListener, year, month, date);
return datePicker;
}
return super.onCreateDialog(id);
}
private DatePickerDialog.OnDateSetListener datePickerListener
= new DatePickerDialog.OnDateSetListener()
{
// when dialog box is closed, below method will be called.
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay)
{
cors_year = selectedYear;
cors_month = selectedMonth;
cors_date = selectedDay;
getDate("calledfromDialog");
displaySunTime();
displayChoghadiya("Day");
displayTime(3, 1);
dayButtonClicked();
selected_DAY_NIGHT="Day";
}
};
注意onCreateDialog在V13过时,每documentation:
使用新DialogFragment类FragmentManager代替;这也可以通过Android兼容性套件在较早的平台上使用。
,你会随着this tutorial
使用,但是,如果你想留在DatePickerDialog,你可以使用如下代码:
protected void onPrepareDialog (int id, Dialog dialog)
{
DatePickerDialog datePickerDialog = (DatePickerDialog) dialog;
// Get the current date
datePickerDialog.updateDate(year, month, day);
}
这是由于Android只要求onCreateDialog一次每个对话框重新使用对话框。 onPrepareDialog被调用以便在显示之前正确设置对话框的状态。
哦....工作非常感谢...我把更新日期放在ondateset方法中。非常感谢你.. – 2013-03-09 07:06:40
@MikinPatel - 确保你接受答案,如果它解决了你的问题,并祝你好运! – ianhanniballake 2013-03-09 15:19:19
你有没有尝试过这些'c.setTimeZone(tz); c.setTime(d);'两行? – Shoshi 2013-03-08 18:48:14
它需要根据当前默认时区获取当前日期。请忽略它 – 2013-03-09 07:07:55