使用联系人自动完成TextView

SKe*_*Ken 5 android textbox android-contacts

我需要显示一个自动完整的文本框,它基本上会加载联系人电子邮件ID.我已经尝试使用自定义适配器,但没有任何内容填充在文本框中.没有任何建议.任何解决方案都非常有用.

Kor*_*urk 9

请尝试以下方法:

ArrayList<String> emailAddressCollection = new ArrayList<String>();

ContentResolver cr = getContentResolver();

Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, null, null, null);

while (emailCur.moveToNext())
{
    String email = emailCur.getString(emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
            emailAddressCollection.add(email);
}
emailCur.close();

String[] emailAddresses = new String[emailAddressCollection.size()];
emailAddressCollection.toArray(emailAddresses);

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
             android.R.layout.simple_dropdown_item_1line, emailAddresses);
AutoCompleteTextView textView = (AutoCompleteTextView)findViewById(R.id.YOUR_TEXT_VIEW);
     textView.setAdapter(adapter);
 }
Run Code Online (Sandbox Code Playgroud)

注意:不要忘记将READ_CONTACTS权限添加到Manifest.xml:

<uses-permission android:name="android.permission.READ_CONTACTS" />
Run Code Online (Sandbox Code Playgroud)