У меня есть список с пользовательским адаптером и вы хотите установить цвет фона на основе содержимого элемента списка или переменной. Список состоит из текстового поля с датой и некоторой информацией.Изменить фон списка на основе содержимого/переменной
мне нужен цвет фона меняется, когда новая дата показывается ..
item1: 2. Март 2016 -> синий
item2: 2. Март 2016 -> синий
item3 : 3. марта 2016 -> серый
item4: 4. Март 2016 -> синий
...
Могу ли я установить переменную (isNewDate), которая может быть использована в спискеAdapter?
Мой список адаптер:
public class HistoryListViewAdapter extends ArrayAdapter<HistoryListItem> {
public HistoryListViewAdapter(Context context, List<HistoryListItem> items) {
super(context, R.layout.history_list_item, items);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView == null) {
// inflate the ListView item layout
LayoutInflater inflater = LayoutInflater.from(getContext());
convertView = inflater.inflate(R.layout.history_list_item, parent, false);
//different color if new date
if (newdate == 0) //How to find if it is a "new date"
//togle color
convertView.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.colorPrimaryDark));
// initialize the view holder
viewHolder = new ViewHolder();
viewHolder.ivIcon = (ImageView) convertView.findViewById(R.id.ivIcon);
viewHolder.tvTextfield = (TextView) convertView.findViewById(R.id.tvTextfield);
viewHolder.tvNote = (ImageView) convertView.findViewById(R.id.tvNote);
convertView.setTag(viewHolder);
} else {
// recycle the already inflated view
viewHolder = (ViewHolder) convertView.getTag();
}
// update the item view
HistoryListItem item = getItem(position);
viewHolder.ivIcon.setImageDrawable(item.icon);
viewHolder.tvTextfield.setText(item.textfield);
viewHolder.tvNote.setImageDrawable(item.note);
return convertView;
}
private static class ViewHolder {
ImageView ivIcon;
TextView tvTextfield;
ImageView tvNote;
}
}
Что вы подразумеваете под isNewDate и какими критериями вы должны изменить цвет фона элементов списка? –
isNewDate было предложением переменной, которая может быть истинна og false, если цвет фона должен быть таким же, как и последний элемент, или переключиться на второй цвет фона. Критерии: «если (элемент списка содержит информацию из другого дня, чем последний элемент) {переключить цвет фона}« Каждый элемент списка содержит информацию для определенного дня. Для каждого дня может быть ноль, один или несколько элементов. Данные списка хранятся в db. – EirikO