¿Cómo vinculo una casilla de verificación para cada contacto en la vista de lista rellenada?

He estado teniendo muchos problemas con este problema. Tengo una vista de lista que contiene:

ImageView / contactName / TextView / CheckBox

losnombre de contacto en la vista de lista se llena leyendo los contactos en el teléfono desde unaSimpleCursorAdapter. Todos los elementos se muestran cuando se ejecuta la aplicación, pero el problema que tengo es conectar las casillas de verificación a su elemento correspondiente en la lista.

A través de algunas investigaciones, encontré que debo usar ungetView () para vincular las casillas de verificación con los elementos de la lista, pero a través de la práctica, parece que no puedo hacer que funcione correctamente. Además, ninguno de los ejemplos que he probado realmente explicaba cómo aplicar getView (). El ejemplo más completo en el que he estado trabajando es desde aquí:

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

El giro es que esto lee y completa mi vista de lista con mis contactos:

<code>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 
</code>

¿Cómo vinculo cada casilla de verificación a los elementos de contacto correspondientes en mi vista de lista?

Respuestas a la pregunta(3)

Su respuesta a la pregunta