Есть список в котором нужно красить текст в определенный цвет в зависимости от условий. Набросал такой код, который изначально выводит все правильно и красит все в gray если TextView R.id.date = "2015-01-16 00:00:00". Однако если пролистать список вниз, чтобы верхние элементы списка ушли за экран, а затем вверх то правило применяется ко всем view(которые возвращаются сверху) в не зависимости от условия, и все красится в Color.GRAY.
class MySimpleAdapter extends SimpleAdapter {
public MySimpleAdapter(Context context,
List<? extends Map<String, ?>> data, int resource,
String[] from, int[] to) {
super(context, data, resource, from, to);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView subElement = (TextView) view.findViewById(R.id.date);
//subElement.setVisibility(View.GONE);
String date = subElement.getText().toString();
Log.d(date, date);
if(date.equals("2015-01-16 00:00:00")){
TextView name = (TextView) view.findViewById(R.id.name);
TextView address = (TextView) view.findViewById(R.id.address);
name.setTextColor(Color.GRAY);
address.setTextColor(Color.GRAY);
}
return view;
}
}