If invalidate()
is called on the Layout level, than the layout decides, which parts of it has to be redrawn. It therefore calls invalidate()
only on the child views, that are affected/dirty. Non of the changes to one cell are visible to the layout, so the layout doesn't see the necessity to invalidate any child.
You should let the view itself get invalidated, when it needs to be redrawn. In your case I would add a call to invalidateSelf()
in the setParamView
method. As far as I understand the code, this is the method that is responsible to decorate one cell as a day in the calendar.