DatePickerDialog显示上一年的日期

时间:2019-05-09 06:44:54

标签: android android-datepicker

我的 DatePickerDialog 默认显示当前日期。每当在过去的一年中移动时,相同的 DAY 都会自动选择。有人遇到这个问题吗?任何帮助将不胜感激。

public void datePicker(Context ctx,final CommonEditTextRegular editText) {

        Calendar newCalendar = Calendar.getInstance();
        DatePickerDialog fromDatePickerDialog = new DatePickerDialog(ctx, new DatePickerDialog.OnDateSetListener() {

            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                Calendar newDate = Calendar.getInstance();
                newDate.set(year, monthOfYear, dayOfMonth);
                String myFormat = "dd-MM-yyyy";
                SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
                editText.setText(sdf.format(newDate.getTime()));
            }

        },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));

        fromDatePickerDialog.show();
        fromDatePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis());
    }

今天是2019年5月9日。在检查2018年时。.2018年5月9日自动选择。

1 个答案:

答案 0 :(得分:1)

是的,这就是它的工作方式。这不是错误。日历是基于年份的日历。

更改年份时,将生成一个新的全年,因此选择了一个日期。默认情况下,与前一天相同的日期/月份。