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.
versuchte es, aber die Übergabe von Null führt zu NullPointerException :( – Abhi
aktualisiert meine Antwort – WarrenFaith