Код ниже показывает DatePickerDialog для пользователя, чтобы вставить дату и работает, как ожидается.Когда дата обновляется, и пользователь закрывает диалоговое окно, кнопка, которая запустила DatePickerDialog, обновляется, чтобы показать выбранную дату:
// Date Picker Section
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
Log.i(TAG, "Setting up new date picker "+timestampCalendar);
datepicker = new DatePickerDialog(this,
mDateSetListener,
timestampCalendar.get(Calendar.YEAR),
timestampCalendar.get(Calendar.MONTH),
timestampCalendar.get(Calendar.DATE));
return datepicker;
}
return null;
}
// updates the date we display in the Button
private void updateDateButton() {
timestampTextView.setText(monthName[timestampCalendar.get(Calendar.MONTH)]+", "+timestampCalendar.get(Calendar.DATE)+" "+timestampCalendar.get(Calendar.YEAR));
}
// the callback received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
timestampCalendar.set(year, monthOfYear, dayOfMonth);
datepicker.updateDate(timestampCalendar.get(Calendar.DATE), timestampCalendar.get(Calendar.MONTH), timestampCalendar.get(Calendar.DATE));
updateDateButton();
}
};
Но здесь я начинаю испытывать проблемы.Код ниже - это onClickListener для кнопки, которая добавляет один день к объекту календаря timestampCalendar.Если я открою DatePickerDialog и закрою его, используйте кнопку «плюс1», а затем снова откройте DatePickerDialog, он по-прежнему показывает дату, с которой я впервые закрыл DatePickerDialog.путем вызова метода updateDate () объекта DatePickerDialog в прослушивателе набора, но это тоже не работает.
У кого-нибудь есть идеи?