gpt4 book ai didi

java - 如何在 android 的自动完成 TextView 中设置联系人号码?

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

我有一个代码,可以从中获取自动完成 TextView 中的联系人姓名,这是我的代码

autoContacts=(AutoCompleteTextView)findViewById(R.id.actvContacts);
Cursor emailCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
startManagingCursor(emailCursor);
autoContacts.setAdapter(new SimpleCursorAdapter(this, android.R.layout.simple_dropdown_item_1line, emailCursor, new String[] {Email.DATA1}, new int[] {android.R.id.text1}));
autoContacts.setThreshold(0);

但是当我单击其中一个名称时,它会在该自动完成 TextView 中设置一个文本,如下所示:

android.content.ContentResolver$CursorWrapperInner@44efc9c8

但是这里我想在上面设置具体的电话号码,如何解决这个问题?

最佳答案

你需要使用 setCursorToStringConverter

Sets the converter used to convert the filtering Cursor into a String. http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html

在你的情况下你可以这样做:

String[] from = new String[] {
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.CommonDataKinds.Phone.NUMBER
};
autoContacts=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
Cursor emailCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
startManagingCursor(emailCursor);
SimpleCursorAdapter adapter =new SimpleCursorAdapter(this, android.R.layout.simple_dropdown_item_1line, emailCursor, from, new int[] {android.R.id.text1});
adapter.setCursorToStringConverter(new CursorToStringConverter() {
@Override
public CharSequence convertToString(Cursor cursor) {
final int columnIndex = cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER);
final String str = cursor.getString(columnIndex);
return str;
}
});
autoContacts.setAdapter(adapter);
autoContacts.setThreshold(0);

关于java - 如何在 android 的自动完成 TextView 中设置联系人号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10061449/

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