2015-05-11 2 views
2

У меня есть CalendarView в моем приложении, когда пользователь выбирает дату, прикоснувшись к этой дате в месячном просмотре, выбрана правильная дата (подтверждается добавлением отладочных инструкций в коде), но за неделю до этого выделено, поэтому он выглядит так, как будто выбрана неправильная дата.calendarview подчеркивает неверную неделю

Я нашел обход: если я установил 'firstDayInWeek' в 1, проблема решена, но по умолчанию firstDayInweek равен 2 (понедельника), а затем эта проблема возникает.

спасибо!

Samsung S4 с API 21

ответ

1

Я была такая же проблема, как вы, с помощью Samsung S5 работает API 21.

Есть два пути, которые я нашел, ни один из них не является хорошим опытом для наших пользователей :(

  1. Force первый день недели в воскресенье

    calendarView.setFirstDayOfTheWeek(Calendar.SUNDAY); 
  1. Установите минимальную и максимальную дату для календаря (будьте осторожны, потому что здесь не все даты). Я смог заставить его работать правильно, установив минимальную дату за 2 месяца до текущей даты и максимальной даты через 2 года после текущей даты. Вы можете играть с этими значениями и находить хороший компромисс между лимитами и вашим пользовательским интерфейсом.

    Calendar calendar = Calendar.getInstance(); 
    calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 2); 
    calendarView.setMinDate(calendar.getTimeInMillis()); 
    calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 2); 
    calendarView.setMaxDate(calendar.getTimeInMillis()); 

К сожалению, это единственный способ, которым я мог бы решить эту проблему, я надеюсь, что это полезно для вас.

Смежные вопросы