如何从android中的电话簿中选择一个联系人到spinner

时间:2016-07-04 08:51:15

标签: android android-spinner import-contacts

有谁能告诉我如何在微调器中显示电话号码和联系人姓名?请帮助,提前致谢。

1 个答案:

答案 0 :(得分:0)

使用此代码将联系人加载到ArrayList中并将其传递给Spinner的构造函数

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

        Cursor c = getContentResolver().query(
                ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
                null, null, null);
        while (c.moveToNext()) {

            String contactName = c
                    .getString(c
                            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
            String phNumber = c
                    .getString(c
                            .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

            contacts.add(contactName + ":" + phNumber);

        }
        c.close();

将此传递给您的Spinner,如:

Spinner s = (Spinner) findViewById(R.id.Spinner);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, contacts);
        s.setAdapter(adapter);

不要忘记添加权限

 <uses-permission android:name="android.permission.READ_CONTACTS" />

在您的清单文件中。