2010-11-26 1 views
1

Ich benutze folgenden Code, um Kontakte vom Telefon zu holen Ich bekomme Namen, aber keine Nummer, hilf mir andere Kontaktbereiche zu finden.Ich möchte die in Phone gespeicherten Kontakte abholen, bekomme aber ein Problem

public class DialActivity extends Activity { 

private ListView mContactList; 

public String[] fields; 
public Cursor cursor; 
public boolean mShowInvisible; 
public Uri uri; 
public String[] projection; 
public String[] selectionArgs; 
public String selection; 
public String sortOrder; 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    mContactList = (ListView) findViewById(R.id.ListView01); 

    // Populate the contact list 
    populateContactList(); 




} 

    /** 
* Populate the contact list based on account currently selected in the account spinner. 
*/ 
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.listrow, cursor, 
      fields, new int[] {R.id.TextView01}); 
    mContactList.setAdapter(adapter); 
} 

/** 
* Obtains the contact list for the currently selected account. 
* 
* @return A cursor for for accessing the contact list. 
*/ 
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 + " = '" + 
      (mShowInvisible ? "0" : "1") + "'"; 
    String[] selectionArgs = null; 
    String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC"; 

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

}

In dem obigen Code i ein benutzerdefinierten ListRow Layout verwenden und die Kontaktnamen in jeder Zeile zeigt, will aber eine Liste zu füllen, die Namen und die entsprechende Anzahl hat, so dass ich eine machen kann Rufen Sie diese Nummer an, indem Sie auf dieses listItem klicken. Ich kann anrufen, aber ich habe keine Nummern.

Antwort

Verwandte Themen