cursoradapter с разным расположением строк

Я пытаюсь создать собственный cursoradapter, который будет использовать два разных макета в зависимости от некоторых данных в курсоре. Я продолжаю читать о 'переопределении getViewTypeCount () и getItemViewType ()', чтобы это произошло, но я не могу понять, как это реализовать ..

Это мой код для bindView и новых методов View:

@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);
}

.

РЕДАКТИРОВАТЬ: Теперь у меня все получилось, но я хочу выбрать, какой формат строки использовать в зависимости от некоторых данных в курсоре, и я не могу заставить это работать. У кого-нибудь есть идеи?

@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;
}

Ответы на вопрос(3)

Ваш ответ на вопрос