2012-06-14 4 views
0

코드를 사용하면 의 이름과 번호이 목록보기에 표시되지만 전자 메일도 표시해야합니다. 일부 코드 조각을 추가했지만 전자 메일이 목록보기에 표시되지 않았습니다. Android 2.1 플랫폼을 사용하고 있습니다.전자 메일이 목록에 표시되지 않습니까?

CODE

public class Trial2 extends Activity { 
/** Called when the activity is first created. */ 
private static final int CONTACT_PICKER_RESULT = 1001; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

     Button Btn = (Button)findViewById(R.id.button1); 
     Btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent i = new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.Phone.CONTENT_URI); 
       startActivityForResult(i, CONTACT_PICKER_RESULT); 

      } 
     }); 
    } 

    protected void onActivityResult(int reqCode, int resultCode, Intent data) { 
     super.onActivityResult(reqCode, resultCode, data); 
     if(resultCode == RESULT_OK) { 
      switch (reqCode) { 
      case CONTACT_PICKER_RESULT: 
       Cursor cursor = null; 
       Cursor Emails = null; 
       String number = ""; 
       String mailid; 
       try { 

        Uri result = data.getData(); 

        //get the id from the uri 
        String id = result.getLastPathSegment(); 

        //query 
        cursor = getContentResolver().query(
          ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone._ID + " = ? " , new String[] {id}, null); 


        int numberIdx = cursor.getColumnIndex(Phone.DATA); 

        if(cursor.moveToFirst()) { 
         number = cursor.getString(numberIdx); 

        } else { 

        } 

        Emails = getContentResolver().query(Email.CONTENT_URI,null,Email.CONTACT_ID + " = " + id, null, null); 

        int emailid = Emails.getColumnIndex(Email.DATA); 

        if(Emails.moveToFirst()){ 

         mailid =Emails.getString(emailid); 
        }else { 

        } 



       } catch (Exception e) { 
        //failed 
       } finally { 
        if (cursor!=null) { 
         cursor.close(); 
        } 


       } 

      } 
     } 
    } 
} 

XML 파일

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

    <Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Trial2" /> 



</LinearLayout> 

솔루션? 부디.

+0

도움이 될 것입니다 listview.This에 이메일을 표시하려면이 코드를 시도? 전체 소스 코드를 게시 했습니까? –

+0

@BigBoss : 게시 한 코드에는 그것을 채우기위한'ListView' 또는'Adapter'에 대한 참조가 없습니다. 질문에 대한 답변을 원하면 관련 코드를 게시해야합니다. – Squonk

+0

전체 코드를 게시 할 예정입니다 – BigBoss

답변

0

은 목록보기 어디

Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
         null,ContactsContract.CommonDataKinds.Email.CONTACT_ID 
         + " = ?", new String[]{id}, null); 

while (emailCur.moveToNext()) { 

String email = emailCur.getString(
       emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); 
String emailType = emailCur.getString(
       emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE)); 
}  emailCur.close(); 
0

사용 당신이 Gmail 사용자 ID의 값을 받고 후 이메일

Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
          null,ContactsContract.CommonDataKinds.Email.CONTACT_ID 
          + " = ?", new String[]{id}, null); 
    while (emailCur.moveToNext()) { 
    // This would allow you get several email addresses 
     // if the email addresses were stored in an array 
    String email = emailCur.getString(
        emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); 
    String emailType = emailCur.getString(
        emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE)); 
} 
emailCur.close(); 

을 얻기 위해이 코드는 목록보기에 그 값을 전달하기 위해, 당신의 코드에서 한번 활동 점검에는 목록보기가 없습니다 ..... .

+0

변경하지 마십시오.이 코드를 사용한 후 listview에서 이름과 번호 만 받았습니다. – BigBoss

+0

목록보기에 해당 값을 어떻게 추가할까요? 적어도 로그 –

+0

에서 이메일을 받고 있습니까? 사실, ListView는 데이터를 표시하는 데 필요하지 않습니다. 단 하나의 버튼을 누르면 활동에 이름과 번호가 자동으로 표시됩니다. .i 이름과 번호와 함께 이메일을 추가하려고합니다. 알았습니까? – BigBoss

관련 문제