gpt4 book ai didi

android - AutoCompleteTextView with SimpleCursorAdapter for Contacts 不返回光标实际值

转载 作者:行者123 更新时间:2023-11-30 00:58:16 25 4
gpt4 key购买 nike

我有一个 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 的任何建议?

此外,如前所述,已弃用的项目有 startManagingCursorSimpleCursorAdapter

最佳答案

找到解决方案,我将其发布在这里以供有类似情况的其他人使用

我需要添加以下内容

adapter.setStringConversion(1);

我在上面示例的最后一行之前添加了它。这改变了

的结果

android.content.ContentResolver$CursorWrapperInner@13a08d9c

到选定的电子邮件地址。

对于使用 MultiAutoCompleteTextView 做同样事情的任何人来说,这也是一个提醒,这段代码也适用于此......只需更改添加 Multi 之前AutoCompleteTextView 并添加您选择的 .setTokenizer

关于android - AutoCompleteTextView with SimpleCursorAdapter for Contacts 不返回光标实际值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com