こんにちは、習慣トラッカー アプリでカレンダー ビューをカスタマイズするために Caldroid ライブラリを使用しています。2 つのハッシュ マップがあり、習慣の成功日と失敗日を表してsuccessMap
います。failureMap
成功した日には緑の円形の背景を、失敗した日には赤い円形の背景を描画可能に設定していますが、コードで後で記述されるそのうちの 1 つだけが表示されます。カレンダーを設定する方法は次のとおりです。
private void setCalendar(){
Map<Date, Drawable> successMap = new HashMap<>();
Map<Date, Drawable> failureMap = new HashMap<>();
//For success days
for(int i=0; i<successDays.size(); i++){
successMap.put(successDays.get(i), getResources().getDrawable(R.drawable.green_circular));
}
//For failure days
for(int i=0; i<failureDays.size(); i++){
failureMap.put(failureDays.get(i), getResources().getDrawable(R.drawable.red_circular));
}
caldroidFragment.setBackgroundDrawableForDates(successMap);
caldroidFragment.setBackgroundDrawableForDates(failureMap);
caldroidFragment.refreshView();
}
これには、後で書き込まれる日付のみが表示されます。たとえば、ここでは失敗した日のみが表示されます。これらの配列リストとマップの値を確認しましたが、問題ありません。この問題を解決するにはどうすればよいですか?