Seleccione un número y un nombre de la lista de contactos en la aplicación de Android

Quiero elegir un contacto con su número de mi lista de contactos. Leí muchas soluciones e investigaciones durante un par de semanas, pero no todos los artículos funcionaron correctamente. algunos códigos como los siguientes:

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);

// y en el resultado de la actividad:

if (resultCode == Activity.RESULT_OK) {
            Uri contactData = data.getData();
            Cursor c =  managedQuery(contactData, null, null, null, null);
            if (c.moveToFirst()) {
              String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
              tv1.setText(name);
            }
          }

o este código para obtener todos los contactos pero no puedo tener la cantidad de contactos:

String[] contacts = new String[] {People.NAME, People.NUMBER};       
Uri contentUri = People.CONTENT_URI;        
Cursor cursor = managedQuery(contentUri, contacts, null, null, null);                 
String textContacts = "";                 
if (cursor.moveToFirst()) {         
    String myname = null;         
    String mynumber = null;         
    do {          
        textContacts = textContacts + cursor.getString(cursor.getColumnIndex(People.NAME)) + " : " + cursor.getString(cursor.getColumnIndex(People.NUMBER)) + "\n";         
    } while (cursor.moveToNext()); 
tv1.setText(textContacts);
}

¿Alguien puede ayudarme, por favor? mi android es 2.3.3

Respuestas a la pregunta(24)

Su respuesta a la pregunta