У меня есть recyclerview , который отображает данные из базы данных SQLite. У меня есть список значков, которые я сохраняю в ArrayList и применяю к ним цвет внутри ArrayList.
Example: mMoodIcons.add(new MoodIcons(R.drawable.excited_icon, R.mipmap.background_clouds_excited, ContextCompat.getColor(mContext, R.color.excited), mContext.getString(R.string.excited)));
В recycerview у меня есть этот код:
if(currentLog.getMoodBefore() == 3){
holder.moodIcon.setImageResource(R.drawable.confident_icon);
holder.moodIcon.setColorFilter(ContextCompat.getColor(mContext, R.color.confident));
}
Мне нужно чтобы сделать его динамичным c так, например, каждое настроение имеет номер 1 = счастье, 2 = хорошо, и т. д. c
Таким образом, когда представление ресайклера отображает информацию из журнала, оно может отображать значок правильного настроения с примененным цветом.
Может ли кто-нибудь помочь мне с логи c написать этот код? Я врезаюсь в стену.
РЕДАКТИРОВАТЬ: То, как я написал выше, работает в операторе if. Но для этого потребуется 18 операторов if. Есть ли более изящный способ написать это, может быть, используя arraylist и a for l oop?