Как связать флажок для каждого контакта в заполненном списке?
У меня было много проблем с этой проблемой. У меня есть просмотр списка, который содержит:
ImageView / contactName / TextView / CheckBox
contactName в списке просмотра заполняется чтением контактов на телефоне изSimpleCursorAdapter, Все элементы отображаются при запуске приложения, но проблема, с которой я столкнулся, заключается в подключении флажков к соответствующему элементу в списке.
В результате некоторых исследований я обнаружил, что должен использоватьgetView() связать чекбоксы с элементами в списке, но на практике я, кажется, не могу заставить его работать правильно. Кроме того, ни один из примеров, которые я пробовал, действительно не объясняет, как применять getView (). Самый полный пример, из которого я работал, отсюда:
http://androidcocktail.blogspot.com/2012/04/adding-checkboxes-to-custom-listview-in.html
Суть в том, что это читает и заполняет мой список с моими контактами:
<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>
How do I link each checkbox to the a corresponding contact items in my listview?