cursoradapter con diferentes diseños de fila

Estoy tratando de crear un cursoradapter personalizado que usará dos diseños diferentes dependiendo de algunos datos en el cursor. Sigo leyendo sobre 'anular getViewTypeCount () y getItemViewType ()' para que esto suceda, pero parece que no puedo entender cómo implementar esto ...

Este es mi código para bindView y los nuevos métodos de Vista:

@Override
public void bindView(View view, Context context, Cursor cursor) {
    TextView tView = (TextView) view.findViewById(R.id.TextView1);
    tView.setText("The text");
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    return mInflater.inflate(R.layout.item1, parent, false);
}

.

EDITAR Ahora tengo esto funcionando, pero quiero elegir qué distribución de fila usar dependiendo de algunos datos en el cursor y no puedo hacer que funcione ... ¿alguien tiene algunas ideas?

@Override
public int getItemViewType(int position) {
    return position % 2;
}

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public void bindView(View view, Context context, Cursor cursor) {
    ViewHolder holder = (ViewHolder) view.getTag();
    holder.txtAddress
            .setText("blabla");
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    ViewHolder holder = new ViewHolder();
    View v = null;
    int type = cursor.getPosition() % 2;
    if(type == 0) {
        v = mInflater.inflate(R.layout.item, parent, false); 
    } else {
        v = mInflater.inflate(R.layout.item2, parent, false);
    }

    holder.txtAddress = (TextView) v.findViewById(R.id.tvName);

    v.setTag(holder);
    return v;
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta