代码之家  ›  专栏  ›  技术社区  ›  Konstantinos Nikoloutsos

在哪里使用CalendarPickerView的highlight(),使其生效?

  •  0
  • Konstantinos Nikoloutsos  · 技术社区  · 7 年前

    想法:

    我想在calendarPickerView中突出显示一些天,以表明用户无法选择它们。


    我所做的:

    这些天都是通过改型从Web服务获取的。问题是改造需要一些时间才能给出结果,因为calendarPickerView已经绘制出来,而且因为highlight()方法没有任何效果。。。!


    我的想法:

    1. 以某种方式让片段在绘制之前等待改造调用完成。
    2. 在CalendarPickerView中调用一些方法,以便看到效果(我尝试了invalidate(),但没有成功)

    我不明白为什么CalendarPickerView在调用highlight()方法后不重新绘制自己。 有人知道为什么我不能马上看到这种方法的效果吗??

    0 回复  |  直到 7 年前
        1
  •  0
  •   Konstantinos Nikoloutsos    7 年前

    实际上这是个愚蠢的错误。每当我调用CalendarPickerView的highligh()方法时,它都会重新绘制自己。

    我所做的是,出于某种原因,我在不同的行中多次调用init()

    calendarViewSquare.init(prevYear.getTime(), nextYear.getTime())
                    .inMode(CalendarPickerView.SelectionMode.MULTIPLE)
                    .withSelectedDates(dates);
    

    当你这么做的时候,我观察到一切都被清除了,这意味着你失去了突出的日子。这意味着,如果你设置了突出显示的天数,然后再次调用init,那么你将看不到结果。。