Приведенный ниже код для отображения имен контактов работает довольно хорошо:
import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
public class Authorize_Activity extends ListActivity {
Cursor mContacts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Return all contacts, ordered by name
String[] projection = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME }; // Would like the phone num, too
mContacts = managedQuery(ContactsContract.Contacts.CONTENT_URI,
projection, null, null, ContactsContract.Contacts.DISPLAY_NAME);
// Display all contacts in a ListView
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice, mContacts,
new String[] { ContactsContract.Contacts.DISPLAY_NAME },
new int[] { android.R.id.text1 });
setListAdapter(mAdapter);
}
}
.. но флажки, отображаемые с именами (через встроенный макет simple_list_item_multiple_choice), не сохранят щелчок - флажок остаетсяпроверяется, когда вы нажимаете на него, но, кажется, не остается нажатым (либо это, либо флажок черный на черном фоне, как пятна на черной пантере, и я не вижу его).
Я вижу, что другие люди тоже сталкивались с этой проблемой в прошлом, но должен был быть менее хакерский / хитрый способ заставить это работать, чем сложные обходные пути, которые были упомянуты.В конце концов, какая польза от флажка, если вы не можете его установить?