2012-03-01 67 views
1

我已经创建了用户手机中的联系人列表,现在我想添加用户的照片(而不是从FB)如何创建? :d 这一块我的代码:将用户的联系人的照片从手机添加到ListView? :D

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    ContentResolver cr = getContentResolver(); 
    Cursor cursor = cr.query(Uri.parse("content://sms/inbox"), null, null, 
      null, null); 

    int indexBody = cursor.getColumnIndex("body"); 
    int indexAddr = cursor.getColumnIndex("address"); 

    if (indexBody < 0 || !cursor.moveToFirst()) 
     return; 

    smsList.clear(); 

    do { 
     String str = "Sender : " + cursor.getString(indexAddr) + "\n" 
       + cursor.getString(indexBody); 
     smsList.add(str); 
     // ADDRESS[total] = cursor.getString(indexAddr); 
     // total++; 
    } while (cursor.moveToNext()); 

    ListView lvSms = (ListView) findViewById(R.id.SMSList); 
    lvSms.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, smsList)); 

    // cursor.requery(); 
    lvSms.setOnItemClickListener(this); 
} 

我在此代码创建列表:

do { 
     String str = "Sender : " + cursor.getString(indexAddr) + "\n" 
       + cursor.getString(indexBody); 
     smsList.add(str); 
     // ADDRESS[total] = cursor.getString(indexAddr); 
     // total++; 
    } while (cursor.moveToNext()); 

    ListView lvSms = (ListView) findViewById(R.id.SMSList); 
    lvSms.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, smsList)); 

    // cursor.requery(); 
    lvSms.setOnItemClickListener(this); 

这就是所有,我发现我必须使用位图,是真的吗? 感谢所有:d

PS:英语不是我的母语的语,很抱歉,如果我做了一些错误的:使用此查询d

回答

2
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, 
       contactId); 
     Uri photoUri = Uri.withAppendedPath(contactUri, 
       Contacts.Photo.CONTENT_DIRECTORY); 
     Cursor cursor = getContentResolver().query(photoUri, null, null, null, 
       null); 

您可以在您的联系人提取图片的网址为您的用户照片列表中,为了与列表中的姓名和号码一起显示,您必须使用Base或任何其他自定义适配器。

+0

感谢:D我应该在哪里实现这个代码呢?因为我已经有了一个从(“content:// sms/inbox”)获取ContentConolver的游标。这使我的应用程序没有响应。请帮助,谢谢:D – 2012-03-01 10:15:29

+0

http://stackoverflow.com/questions/8634770/fetch-contact-photo-in-android-gives-null – Karthi 2012-03-01 10:47:16

+0

谢谢先生:D但我已经看到了,但我不明白它(我是初学者)谢谢:D – 2012-03-01 12:24:36