【发布时间】:2016-10-02 18:42:19
【问题描述】:
我有一个 AutoCompleteTextView,它使用 SimpleCursorAdapter 过滤输入字段的电子邮件。虽然有一些 deprecated 命令我不知道如何返工,但我已经成功了。
我遇到的唯一问题是,当我从提供的列表中选择一个值时,我没有选择电子邮件地址,而是如下所示:
android.content.ContentResolver$CursorWrapperInner@13a08d9c
这是我的代码:
final AutoCompleteTextView edt_Contact = (AutoCompleteTextView)findViewById(idTo);
ContentResolver cr = getContentResolver();
String[] projection={ContactsContract.CommonDataKinds.Email._ID,ContactsContract.CommonDataKinds.Email.ADDRESS};
Cursor cursor = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, projection, null, null, null);
startManagingCursor(cursor);
String[] from = new String[] { ContactsContract.CommonDataKinds.Email.ADDRESS};
int[] to = new int[] { android.R.id.text1};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from, to);
adapter.setFilterQueryProvider(new FilterQueryProvider() {
public Cursor runQuery(CharSequence constraint) {
return getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
new String[] {},
ContactsContract.CommonDataKinds.Email.ADDRESS + " LIKE '%" + constraint + "%'",
null, null);
}
});
edt_Contact.setAdapter(adapter);
关于如何获取实际选定值以在选择时填充 AutoCompleteTextView 的任何建议?
此外,如前所述,已弃用的项目是 startManagingCursor 和 SimpleCursorAdapter。
【问题讨论】:
标签: android android-contacts autocompletetextview simplecursoradapter