цвет текста в текстовом представлении внутри строки списка изменяется при прокрутке

у меня есть представление списка, которое создается с помощью пользовательского адаптера курсора

все работает нормально, за исключением того, что когда я прокручиваю список вверх и вниз, некоторые текстовые представления случайным образом меняются на ЗЕЛЕНЫЕ.

Вот мой код, который генерирует список:

private class AchievementAdapter extends CursorAdapter {
    public AchievementAdapter(Context context, Cursor c) {
        super(context, c);
    }

    @Override
    public void bindView(View v, Context context, Cursor cursor) {
        TextView tv = (TextView) v.findViewById(R.id.achView1);

        if(cursor.getString(cursor.getColumnIndex("completed")).equals("yes")) {
            tv.setText(cursor.getString(cursor.getColumnIndex("name"))+" (completed)");
            tv.setTextColor(Color.GREEN);
        }
        else {
            tv.setText(cursor.getString(cursor.getColumnIndex("name")));
        }
    }

    @Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {
        LayoutInflater inflater = LayoutInflater.from(context);
        View v = inflater.inflate(R.layout.achievements_item, parent, false);
        return v;
    }
}    

Я читал что-то о setcachecolorhint, но этот метод не применим к текстовому представлению. как мне это исправить, чтобы он перестал случайным образом менять цвета текста при прокрутке?

0
задан scarhand 31 May 2012 в 17:06
поделиться