Zapobiegaj ponownemu użyciu niektórych widoków w ListView (niestandardowy adapter kursora)

Czy można dodaćjeden widok utworzony podczasnewView(..) jako oddzielny typ, dzięki czemu uniemożliwia się ponowne użycie tego widokubindView(...)?

Oto jak wygląda mój własny kursorAdapter:

@Override
public void bindView(View vi, Context arg1, Cursor cursor) {
    priority.setText(cursor.getString(cursor.getColumnIndex(TodoTable.COLUMN_PRIORITY)));TextView timeElapsed =  (TextView)vi.findViewById(R.id.todayTime); //time
    long id = cursor.getLong(cursor.getColumnIndex(TodoTable.COLUMN_ID));

    if(ts.getRunning() == id){
        ts.startTimer(vi, ts.getCurrentTaskStart(), id);
    }else{
        long time = cursor.getLong((cursor.getColumnIndex(TodoTable.COLUMN_TIME)));
        timeElapsed.setText(ts.getTimeString(0, 0, time));
    }
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup arg2) {
    LayoutInflater inflater = LayoutInflater.from(context);
    View vi = inflater.inflate(R.layout.list_item, null);
    bindView(vi, context, cursor);
    return vi;
}

Próbowałem dodać go do innego typu, używającgetItemViewType igetViewTypeCount ale może zajmować się tylko pozycjami, a nie identyfikatorami powiązanymi z wierszami widoku listy.

Chcę zapobiec widokowits.getRunning() == id w czasie tworzenia jest ponownie wykorzystywany w innych pozycjach, gdy przewijam. Jak mam zrobić coś takiego?

questionAnswers(2)

yourAnswerToTheQuestion