Я инициализирую свой инструмент выбора даты следующим образом:
if (question.getAnswers().size() > 0) {
EBotAnswer ans = question.getAnswers().get(0);
try {
if (ans.hasMinDate()) {
picker.setMinDate(ans.getMinDateInLocalDate().getTimeInMillis());
}
} catch (IllegalArgumentException e) {
}
try {
if (ans.hasMaxDate()) {
picker.setMaxDate(ans.getMaxDateInLocalDate().getTimeInMillis());
}
} catch (IllegalArgumentException e) {
}
Calendar startWithDate = null;
if (ans.hasStartWithDate()) {
startWithDate = ans.getStartWithDateInLocalDate();
} else if (ans.defaultCalendarDateMin()) {
startWithDate = ans.getMinDateInLocalDate();
} else if (ans.defaultCalendarDateMax()) {
startWithDate = ans.getMaxDateInLocalDate();
} else if (ans.defaultCalendarDateStartWith()) {//This is somewhat redundant
startWithDate = ans.getStartWithDateInLocalDate();
}
if (startWithDate != null) {
picker.updateDate(
startWithDate.get(Calendar.YEAR),
startWithDate.get(Calendar.MONTH),
startWithDate.get(Calendar.DAY_OF_MONTH));
}
}
Но изначально раскладка выглядит так:
Если я начну крутить счетчик, появится 8 июля.
Любые идеи о том, почему это происходит?!
Я пытался позвонить picker.invalidate()
или picker.requestLayout()
, или даже picker.requestFocus()
, но, похоже, ничего не работает.