1.首先我用如下代码首次设置
List tmp = new ArrayList<>();
tmp.add("2016-10-21");
tmp.add("2016-10-22");
DPCManager.getInstance().setDecorBG(tmp);
“2016-10-21”和“2016-10-22”两天显示我绘制的红色背景,控件正常显示;
2.接着我再用同样的代码设置新的日期
List tmp = new ArrayList<>();
tmp.add("2016-10-23");
tmp.add("2016-10-24");
DPCManager.getInstance().setDecorBG(tmp);
结果还是“2016-10-21”和“2016-10-22”这两天显示红色的背景。
我在使用您的这个项目时遇到一个bug,就是在动态修改特定的日期的显示标识时,会出现无法修改的情况: 比如
1.首先我用如下代码首次设置 List tmp = new ArrayList<>();
tmp.add("2016-10-21");
tmp.add("2016-10-22");
DPCManager.getInstance().setDecorBG(tmp);
“2016-10-21”和“2016-10-22”两天显示我绘制的红色背景,控件正常显示;
2.接着我再用同样的代码设置新的日期 List tmp = new ArrayList<>();
tmp.add("2016-10-23");
tmp.add("2016-10-24");
DPCManager.getInstance().setDecorBG(tmp);
结果还是“2016-10-21”和“2016-10-22”这两天显示红色的背景。
于是乎,我自己在您的源代码中增加了几行代码(清空旧数据): 在DPCManager类中的setDecor(List date, HashMap<String, Set> cache)方法里面增加如下几行代码:
private void setDecor(List date, HashMap<String, Set> cache) {
结果,问题得到了解决。希望对您有帮助。