あなたはCursorAdapterを使用して、例えばbindView()メソッドオーバーライドすることができます。
@Override
public void bindView(final View view, Context context, final Cursor cursor) {
holder = (ItemHolder) view.getTag();
ImageView icon = holder.getImageView();
TextView name = holder.getName();
final TextView email = holder.getEmail();
icon.setBackgroundResource(R.drawable.contact_icon);
name.setText(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));
final int contactid = cursor.getInt(cursor.getColumnIndex("_id"));
mHandler.post(new Runnable() {
@Override
public void run() {
Cursor emailCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, "contact_id=?", new String[]{String.valueOf(contactid)}, null);
startManagingCursor(emailCursor);
// Log.i("cursor:", emailCursor.getCount()+"");
if(emailCursor!=null){
if(emailCursor.getCount()==0){
email.setText("");
}else {
while(emailCursor.moveToNext()){
String emails = emailCursor.getString(emailCursor.getColumnIndex("data1"));
email.setText(emails);
}
}
}
emailCursor.close();
}
});
あなたがContactsContract.CommonDataKinds.Phone.CONTENT_URI代わりのContactsContract.CommonDataKinds.Email.CONTENT_URIを使用することになります。
メッター、あなたはこれを達成している方法についていくつかのコードを投稿することができ、多分私たちはより良いあなたが取り組んでいるものを最適化する方法いくつかの洞察を提供することができます。 – Webnet