Я реализовал средство выбора даты следующим образом:
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
// set date picker as current date
return new DatePickerDialog(this, datePickerListener, year, month, day);
}
return null;
}
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
// when dialog box is closed, below method will be called.
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
year = selectedYear;
month = selectedMonth;
String strMonth = "";
if (month == 0) {
strMonth = "January";
} else if (month == 1) {
strMonth = "February";
} else if (month == 2) {
strMonth = "March";
} else if (month == 3) {
strMonth = "April";
} else if (month == 4) {
strMonth = "May";
} else if (month == 5) {
strMonth = "June";
} else if (month == 6) {
strMonth = "July";
} else if (month == 7) {
strMonth = "August";
} else if (month == 8) {
strMonth = "September";
} else if (month == 9) {
strMonth = "October";
} else if (month == 10) {
strMonth = "November";
} else if (month == 11) {
strMonth = "December";
}
day = selectedDay;
tvPurchaseDate.setText(new StringBuilder().append(day).append(" ").append(strMonth).append(" ").append(year).append(" "));
tvPurchaseDate.setTextColor(Color.BLACK);
}
};
Проблема, с которой я сталкиваюсь, заключается в том, что средство выбора даты отображает дату неправильно, как показано на изображениях ниже.
По мере создания диалога:
Если я выберу другую дату:
Обратите внимание, что дата не является текущей датой (сегодня), а год, отображаемый на колесе, и год, отображаемый в верхней части средства выбора даты, совершенно разные. Я делаю что-то не так? Я не понимаю, потому что я использовал этот код раньше, и он работал нормально. Средство выбора даты вызывается из флиппера представления. заранее спасибо
ИЗМЕНИТЬ
Вот как я вызываю средство выбора даты:
private int day, month, year;
В моем onClick:
showDialog(DATE_DIALOG_ID);
Затем вызывается onCreateDialog() (отображается в коде выше), весь этот код находится внутри действия, из которого выполняется вызов.
DatePickerDialog
? Вы вызываете какие-либо методы конфигурации в диалоговом окне после этого? - person laalto   schedule 11.12.2013