0

Я использовал этот код, но в результате это не информация о названии, которое я выбрал в списке, а информация от другого имени.как получить контактную информацию от имени в списке viewroid android

contactmanager.java

protected void onListItemClick(ListView l, View v, int position, long id) 
{ 
    super.onListItemClick(l, v, position, id); 
    Intent i = new Intent(this, ContactEditor.class); 
    i.putExtra(ContactsContract.Contacts._ID, id); 
    startActivityForResult(i, 2); 
} 

ContactEditor.java

private Long mRowId; 
mRowId = savedInstanceState != null ? savedInstanceState.getLong(ContactsContract.Contacts._ID):null; 
    if (mRowId == null){ 
    Bundle extras = getIntent().getExtras(); 
    mRowId = extras != null ? extras.getLong(ContactsContract.Contacts._ID):null; 
    } 

populateFields(); 
private void populateFields(){ 
    ContentResolver cr = getContentResolver(); 
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); 
    if (mRowId != null)   
    { 
     while (cur.moveToNext()) { 
     String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID)); 
     String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
     mContactNameEditText.setText(name); 
     } 
    } 
} 

ответ

0

Вы должны задать для идентификатора, который вы хотите. Это требует для каждого контакта и отображает только последний:

Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 
if (mRowId != null)   
{ 

Попробуйте что-то вроде этого:

if (mRowId != null)   
{ 
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, 
      ContactsContract.Contacts._ID + "=" + mRowId, null, null); 
+0

SAAAAAAM .. Ваш ответ очень приятно для me..4 дней я застрял в этом случае , Большое спасибо брату. – Fuji

 Смежные вопросы

  • Нет связанных вопросов^_^