Привет, я использую библиотеку Caldroid для настройки вида календаря в своем приложении для отслеживания привычек, и есть два хеш-карты successMap
и failureMap
, представляющие успешные и неудачные дни привычки. Я устанавливаю зеленый круглый фон, пригодный для успешных дней, и красный круговой фон, пригодный для неудачных дней, но показан только один из них, который написан позже в коде. Вот этот метод для создания календаря:Фоновый рисунок для Caldroid
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();
}
В этом только что даты указаны, которые написаны позже, например, здесь только не дни будут shown.I проверили эти ArrayLists и карты значения и они прекрасны. Итак, как я могу решить эту проблему?
Спасибо @Ahmed Махмуду, что решается вопрос :) –
им пытаются выбрать только одну дату в то время, и установить выбранный цвет фона даты , но его применение цвета во все выбранные даты. Если выбрать 1, то измените его цвет фона, но если я выберу 2, цвет должен применяться только к 2 и удаляться с 1 – Erum