Como faço para vincular uma caixa de seleção para cada contato na visualização de lista preenchida?

Eu tenho tido muitos problemas com esse problema. Eu tenho um listview que contém:

ImageView / contactName / TextView / CheckBox

onome de contato no listview é preenchido lendo os contatos no telefone de umSimpleCursorAdapter. Todos os elementos mostram quando o aplicativo é executado, mas o problema que estou tendo é conectar as caixas de seleção ao item correspondente na lista.

Através de algumas pesquisas, descobri que devo usar umgetView () para vincular as caixas de seleção aos itens da lista, mas, por meio da prática, não consigo fazer com que funcione corretamente. Além disso, nenhum dos exemplos que eu tentei realmente explicou como aplicar getView (). O exemplo mais completo do qual venho trabalhando é daqui:

http://androidcocktail.blogspot.com/2012/04/adding-checkboxes-to-custom-listview-in.html

A diferença é que isso lê e preenche minha lista com meus contatos:

private void populateContactList() {
    // Build adapter with contact entries
    Cursor cursor = getContacts();
    String[] fields = new String[] {
            ContactsContract.Data.DISPLAY_NAME       
    };

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.contact_entry, cursor,
            fields, new int[] {R.id.contactEntryText});    
    lv.setAdapter(adapter);        
} // END POPULATECONTACTLIST


private Cursor getContacts()
{ 
    // Run query
    Uri uri = ContactsContract.Contacts.CONTENT_URI;
    String[] projection = new String[] {
            ContactsContract.Contacts._ID,
            ContactsContract.Contacts.DISPLAY_NAME
    };
    String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" +
            (chkboxAllVisible ? "0" : "1") + "'";
    String[] selectionArgs = null;
    String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";

    return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
} // END GETCONTACTS 

Como faço para vincular cada caixa de seleção aos itens de contato correspondentes em minha lista?