手动输入时,日期选择器显示错误的日期

时间:2018-09-25 03:46:02

标签: android datepicker

当我使用日期选择器对话框手动输入时,设置初始默认值后返回错误的日期。选择日期之后,将初始日期设置为选择之前的日期。但这只是错误的情况:

步骤1:手动输入日期= 1,月份= 9,年份= 2018。

步骤2:显示日期选择器,显示1/9/2018,可以。

步骤3:选择每月的最后一天。 (2018年9月30日)。它将返回31/8/2018。

注意:仅在手动输入并设置月份的第一和最后一个时才发生。 我使用了datePicker.clearFocus();,但似乎也无法使用!

date = new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear,
                                          int dayOfMonth) {
                        // Do something with year, monthOfYear and dayOfMonth
                        mdate = dayOfMonth;
                        mmonth = monthOfYear;
                        myear = year;
                    }
                };

                mDatePickerDialog = new DatePickerDialog(MyAndroidAppActivity.this, date, myear, mmonth, mdate);
                mDatePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Set", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface arg0, int arg1) {
                        datePicker = mDatePickerDialog.getDatePicker();
                        // The following clear focus did the trick of saving the date while the date is put manually by the edit text.
                        datePicker.clearFocus();

                        date.onDateSet(datePicker, datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth());

                    }
                });


            }

        });
        mDatePickerDialog.show();

0 个答案:

没有答案