0

edittext で選択した連絡先からすべての電話番号を取得したいと考えています。私の問題は、edittext が選択した連絡先の最初の電話番号のみを表示することです。連絡先に 12345 と 00001 のような 2 つの番号があるとします。編集テキストには最初の番号 12345 しか表示されませんが、12345,00001 が必要です。

私はこれを試しています:

    Cursor cursor = null; 
    String phoneNumber = "";
    int phoneIdx = 0;
    Uri result = data.getData();

    String id = result.getLastPathSegment();
    cursor = getContentResolver().query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=?", new String[] { id }, null); 
    phoneIdx = cursor.getColumnIndex(Phone.DATA);
    if (cursor.moveToFirst()) {
        phoneNumber = cursor.getString(phoneIdx);
        cursor.moveToNext();
    }
    else {

    }  
} 
finally {  
    if (cursor != null) {  
        cursor.close();
    }
    final EditText phoneInput = (EditText) findViewById(R.id.contact_phone);
    nameEntry.setText(phoneNumber);
}  
4

1 に答える 1

0

書く

    cursor.moveToFirst();
    while (cursor.isAfterLast() != true) {
        if (phoneNumber.equals("")) {
            phoneNumber = cursor.getString(phoneIdx);
        }

        else {
            phoneNumber = phoneNumber + "," + cursor.getString(phoneIdx);   
        }
        cursor.moveToNext();

     }

それ以外の

if (cursor.moveToFirst()) {
                phoneNumber = cursor.getString(phoneIdx);
                    cursor.moveToNext();


            }
于 2013-10-19T17:49:55.663 に答える