将1980显示为日期选择器的初始年份

时间:2014-09-11 09:03:04

标签: android android-datepicker

如何在1980对话框中将initial显示为DatePicker年,我仍然将初始日期视为当前日期

请参阅下面的代码,让我知道我的代码在哪里进行更改

     @Override
        protected Dialog onCreateDialog(int id) {
            switch (id) {
            case DIALOG_DATE:
                return new DatePickerDialog(this, new OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year,
                            int monthOfYear, int dayOfMonth) {
                        dateTime.set(year, monthOfYear, dayOfMonth);
                        editDate.setText(dateFormatter
                                .format(dateTime.getTime()));
                    }
                }, dateTime.get(Calendar.YEAR),
                   dateTime.get(Calendar.MONTH),
                   dateTime.get(Calendar.DAY_OF_MONTH));
            }
            return null;

1 个答案:

答案 0 :(得分:4)

这是因为DatePickerDialog构造函数的最后3个参数是最初在DatePicker中显示的日期。您将使用

将dateTime变量设置为当前日期
private Calendar dateTime = Calendar.getInstance();

因此,您必须将dateTime变量设置为您希望在第一次运行时显示的正确日期。在OnCreate()方法中执行此操作

dateTime.set(1980, Calendar.JANUARY , 1);

现在你的DatePicker应该在第一次运行时显示正确的值,因为你在回调中设置了dateTime变量,如果用户再次打开对话框,它应该设置正确的先前值。