Move the text and color setting code to before setting the tag. Try this code
if (convertView == null)
{
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.main, null);
holder.text = (TextView)convertView.findViewById(R.id.text);
TextView tvText = holder.text;
tvText.setText(item.getTitle());
if (item.Read())
{
tv.setTextColor(Color.Gray);
}
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
TextView tvText = holder.text;
tvText.setText(item.getTitle());
if (item.Read())
{
tv.setTextColor(Color.Gray);
}
}
return(convertView);