2012-09-23 26 views
0

我使用說明Here寫了一個短信發送應用程序。現在,當根據電話簿中保存的號碼輸入號碼或名稱時,我想爲電話號碼添加建議,即當我們輸入號碼來呼叫時,它會建議一個號碼(動態鍵入)。Android上的EditText字段訪問電話號碼建議

是否可以做?如果可能的話,我該如何做到這一點?我已經使用API​​級別2.2。

編輯: 我有問題Here的幫助下做到這一點,但是當我的名字點擊從電話簿,它地名的文本框,但我需要的號碼發送短信。

問題:我怎麼能得到號碼,以便我可以發送消息到選定的名稱。

回答

2

是的,這是可能的。您可以用ContactsContract更改您手機中的現有號碼,將您的電話號碼EditText更改爲AutoCompleteTextView,並使用SimpleCursorAdapter將聯繫人中的號碼綁定到AutoCompleteTextView。


加成
如果你想聯繫人姓名轉換成電話號碼,你可以試試這個您的「提交」按鈕的onClick()方法:

Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
     new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER }, 
     ContactsContract.Contacts.DISPLAY_NAME + " = '" + autoComplete.getText() + "'", 
     null, null); 
if(cursor.moveToFirst()) 
    phoneNo = cursor.getString(0); 

明白這只是得到來自第一個聯繫人的第一個數字與您的AutoCompleteTextView中的名稱匹配。您必須辨別一種方法來區分具有相同名稱的聯繫人並與多個號碼聯繫。

+0

你能幫助我解決我編輯的問題嗎? – Lionel

+0

感謝您的回覆...後來我在[先前的問題]的幫助下解決了這個問題(http://stackoverflow.com/questions/9938724/how-to-get-phone-number-from-person-name-which - 在我的聯繫人列表在Android)...最後但並非最不重要的感謝指導我朝着正確的方向... – Lionel