Когда я вручную ввожу диалог выбора даты, он возвращает неправильную дату после установки основного значения по умолчанию.После того, как дата выбрана, начальная дата устанавливается до даты, выбранной ранее.Но это неправильно только в случае:
Шаг 1: день ручного ввода = 1, месяц = 9, год = 2018.
Шаг 2: показать сборщик даты, показать 1/9 /2018, все в порядке.
Шаг 3: выберите последний день месяца.(30/9/2018).Он вернется 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();