calendarview突出显示错误的一周

时间:2015-05-11 18:01:04

标签: android android-calendar

我的应用程序中有一个CalendarView,当用户通过在月视图中触摸该日期来选择日期时,选择了正确的日期(通过在代码中添加调试语句进行验证),但前一周突出显示,所以它看起来好像选择了错误的日期。

我找到了一个解决办法:如果我将'firstDayInWeek'设置为1,问题就解决了,但默认情况下firstDayInweek是2(星期一),然后出现此问题。

非常感谢!

三星S4与API 21

1 个答案:

答案 0 :(得分:1)

使用运行API 21的Samsung S5,我遇到了同样的问题。

我找到了两种解决方法,对我们的用户来说,这些解决方案都不是很好的经验:(

  1. 强制每周的第一天到周日
  2. 
        calendarView.setFirstDayOfTheWeek(Calendar.SUNDAY);
    
    1. 设置日历的最小日期和最长日期(请注意,因为并非所有日期都适用于此处)。我能够正常设置当前日期前2个月的最短日期和当前日期后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());
      

      不幸的是,这是解决这个问题的唯一方法,我希望它对你有用。