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

时间:2019-05-27 12:31:43

标签: android multithreading android-custom-view

想法:

我想在calendarPickerView中突出显示某些日子,以指示用户无法选择它们。


我做什么:

这些天是使用Retrofit从Web服务获取的。问题在于,改型需要一些时间才能给我结果,而且因为calendarPickerView已经绘制,并且因为highlight()方法没有任何作用...!


我的想法:

  1. 以某种方式使片段等待改造调用完成后再绘制。
  2. 在CalendarPickerView中调用一些方法,以便我看到效果(我尝试过invalidate(),但它不起作用)

我不明白为什么CalendarPickerView在调用Highlight()方法后不重绘自己。 有谁知道为什么我不能立即看到这种方法的效果?

1 个答案:

答案 0 :(得分:0)

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

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

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

当您这样做时,我观察到一切都已清除,这意味着您失去了突出显示的日子。这意味着,如果您已设置突出显示的日期,然后再次调用init,则不会看到结果。