【问题标题】:Android CalendarView Drops Weeks at RandomAndroid CalendarView 随机下降数周
【发布时间】:2013-07-08 03:10:16
【问题描述】:

我在我的一个项目中使用标准CalendarView。当我在对话框中显示它时,它似乎可以正常工作,但是当我在应用程序的另一个活动中显示它时,它似乎随机漏掉了几个星期。在日历中上下滚动会使它们再次出现,但其他则消失。通常缺少的一周是包含我使用setDate() 设置的日期的那一周,因此甚至没有显示选定的日期。

有没有其他人看到CalendarView 的这种行为?我正在使用 SDK v17

    <CalendarView
        android:id="@+id/cv_planner"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:padding="@dimen/item_list_padding"
        android:selectedDateVerticalBar="@color/teal"
        android:selectedWeekBackgroundColor="@color/teal"
        android:showWeekNumber="true" />

【问题讨论】:

  • note 暂时,如果其他人也有这个问题,请改用日期微调器。

标签: android date picker calendarview


【解决方案1】:

作为临时修复,请通过向下/向上滚动一两个月来强制刷新,然后再向后滚动。您应该会看到刷新导致出现缺失的一周。

如果这确实是一个没有解决方法的错误,那么用于弥补这一点的代码就不会是微不足道的。我想这将涉及从包含活动的 UI 线程上发布一个可运行的方法,该方法将在呈现后分析视图以检查缺少的一周,然后以某种方式强制刷新视图(这将是“最简单的”在进入对 CalendarView 本身进行子类化并尝试以更精细的粒度(例如通过 onMeasure 或 onLayout)控制其呈现之前的方法。

更新:找到了解决方法 - CalendarView Issues when Used Directly (Outside of a DatePicker)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-18
    • 2016-06-13
    • 2021-02-20
    • 1970-01-01
    • 2011-07-04
    • 2016-05-16
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多