Android CalendarView 随机下降数周
Posted
技术标签:
【中文标题】Android CalendarView 随机下降数周【英文标题】:Android CalendarView Drops Weeks at Random 【发布时间】:2013-07-08 03:10:16 【问题描述】:我在我的一个项目中使用标准CalendarView
。当我在对话框中显示它时,它似乎可以正常工作,但是当我在应用程序的另一个活动中显示它时,它似乎随机漏掉了几个星期。在日历中上下滚动会使它们再次出现,但其他则消失。通常缺少的一周是包含我使用setDate()
设置的日期的那一周,因此甚至没有显示选定的日期。
有没有其他人看到CalendarView
的这种行为?我正在使用 SDK v17
。
<CalendarView
android:id="@+id/cv_planner"
android:layout_
android:layout_
android:layout_weight="1"
android:padding="@dimen/item_list_padding"
android:selectedDateVerticalBar="@color/teal"
android:selectedWeekBackgroundColor="@color/teal"
android:showWeekNumber="true" />
【问题讨论】:
note 暂时,如果其他人也有这个问题,请改用日期微调器。 【参考方案1】:作为临时修复,请通过向下/向上滚动一两个月来强制刷新,然后再向后滚动。您应该会看到刷新导致出现缺失的一周。
如果这确实是一个没有解决方法的错误,那么用于弥补这一点的代码就不会是微不足道的。我想这将涉及从包含活动的 UI 线程上发布一个可运行的方法,该方法将在呈现后分析视图以检查缺少的一周,然后以某种方式强制刷新视图(这将是“最简单的”在进入对 CalendarView 本身进行子类化并尝试以更精细的粒度(例如通过 onMeasure 或 onLayout)控制其呈现之前的方法。
更新:找到了解决方法 - CalendarView Issues when Used Directly (Outside of a DatePicker)
【讨论】:
以上是关于Android CalendarView 随机下降数周的主要内容,如果未能解决你的问题,请参考以下文章
Android零基础入门第60节:日历视图CalendarView和定时器Chronometer
Android零基础入门第60节:日历视图CalendarView和定时器Chronometer