如何在AutoCompleteTextView中显示联系人列表名称

时间:2015-08-31 02:47:13

标签: android

我正在尝试使用自动完成文本查看手机联系人列表中的名称,因此当用户开始输入名称时,它将显示从其联系人自动完成的建议。 另外,它是在自定义对话框中完成的。

但它不起作用。

以下是相关代码:

AutoCompleteTextView friendName;


        case R.id.add_debt_menu:

            // custom dialog
            final Dialog dialog = new Dialog(this);
            dialog.setContentView(R.layout.add_debt_dialog);
            dialog.setTitle("Add Debt");


            friendName = (AutoCompleteTextView)dialog.findViewById(R.id.name);

            Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);

    while (cursor.moveToNext()){
         name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

        ArrayList<String> contacts = new ArrayList<>();
        contacts.add(name);

    }
    cursor.close();


    ArrayAdapter<String> adapter = new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,contacts);
    friendName.setAdapter(adapter);

解决!我用过:

Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
            while (cursor.moveToNext()) {
                String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));

所以关键是使用CommonDataKinds。我仍然不知道为什么它不适用于其他方法。

0 个答案:

没有答案