我的 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日自动选择。
答案 0 :(得分:1)
是的,这就是它的工作方式。这不是错误。日历是基于年份的日历。
更改年份时,将生成一个新的全年,因此选择了一个日期。默认情况下,与前一天相同的日期/月份。