Ich muss ein Auto-Vervollständigen-Textfeld anzeigen, das im Grunde die Kontakte E-Mail-IDs lädt. Ich habe es mit einem benutzerdefinierten Adapter versucht, aber nichts wird in das Textfeld gefüllt. Keine Vorschläge. Jede Lösung wird sehr nützlich sein.AutoComplete TextView mit Kontakten
5
A
Antwort
9
Versuchen Sie Folgendes:
ArrayList<String> emailAddressCollection = new ArrayList<String>();
ContentResolver cr = getContentResolver();
Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, null, null, null);
while (emailCur.moveToNext())
{
String email = emailCur.getString(emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
emailAddressCollection.add(email);
}
emailCur.close();
String[] emailAddresses = new String[emailAddressCollection.size()];
emailAddressCollection.toArray(emailAddresses);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, emailAddresses);
AutoCompleteTextView textView = (AutoCompleteTextView)findViewById(R.id.YOUR_TEXT_VIEW);
textView.setAdapter(adapter);
}
Hinweis: Vergessen Sie nicht, die READ_CONTACTS
Erlaubnis zu Ihrem Manifest.xml hinzuzufügen:
<uses-permission android:name="android.permission.READ_CONTACTS" />
+0
Ich mache etwas ähnliches hier !! stackoverflow.com/questions/12854336/autocompletedtextview-backed-by-cursorloader – toobsco42
0
@Korhan sicherlich eine viel elegante Art und Weise als was ich herausgefunden habe. Mein Code funktioniert, aber @ Korhans ist viel einfacher. Danke. Ich habe diese benutzerdefinierten Adapterklasse für die Kontakte zu lesen
class ContactListAdapter extends CursorAdapter implements Filterable {
private ContentResolver mCR;
public ContactListAdapter(Context context, Cursor c,boolean a) {
super(context, c, true);
mCR = context.getContentResolver();
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
((TextView) view).setText(cursor.getString(1));
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final LayoutInflater inflater = LayoutInflater.from(context);
final TextView view = (TextView) inflater.inflate(android.R.layout.simple_dropdown_item_1line, parent, false);
view.setText(cursor.getString(1));
return view;
}
@Override
public String convertToString(Cursor cursor) {
return cursor.getString(1);
}
public Cursor runQueryOnBackgroundThread(CharSequence constraint) {
if (getFilterQueryProvider() != null) {
return getFilterQueryProvider().runQuery(constraint);
}
StringBuilder buffer = null;
String[] args = null;
if (constraint != null) {
buffer = new StringBuilder();
buffer.append("UPPER(");
buffer.append(ContactsContract.CommonDataKinds.Email.ADDRESS);
buffer.append(") GLOB ?");
args = new String[] { constraint.toString().toUpperCase() + "*" };
}
return mCR.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,CreateEventActivity.PEOPLE_PROJECTION ,buffer == null ? null : buffer.toString(), args,
null);
}
}
und die Hauptaktivität:
MultiAutoCompleteTextView act = (MultiAutoCompleteTextView)findViewById(R.id.attende_list);
ContentResolver content = getContentResolver();
Cursor cursor = content.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,PEOPLE_PROJECTION, null, null, null);
ContactListAdapter adapter = new ContactListAdapter(this, cursor, true);
act.setThreshold(0);
act.setAdapter(adapter);
act.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
Verwandte Themen
- 1. Android: Autocomplete TextView Ähnlich der Facebook App
- 2. Android: Wie Cross-Symbol über die Autocomplete TextView setzen
- 3. Exportieren von Kontakten
- 4. Kontakt existiert in Kontakten
- 5. Verknüpfen von Kontakten mit einem Benutzer
- 6. Android: Verwalten von Kontakten mit Suchschlüssel
- 7. AddressBook Crash, nur mit einigen Kontakten
- 8. Abrufen von Outlook-Kontakten mit Python
- 9. Anwesenheitssymbol mit Sync-Adapter bei Kontakten anzeigen
- 10. TextView mit HTML-Tabelle
- 11. Verknüpfen mit TextView
- 12. php autocomplete mit vim
- 13. Winkeldropdown mit Autocomplete
- 14. Angular Autocomplete mit Suchfilter
- 15. jquery Autocomplete mit '@'
- 16. jQuery Autocomplete mit Bildern
- 17. JQuery AutoComplete mit SQL
- 18. ANDROID AutoComplete mit AsyncTask
- 19. jQuery Autocomplete mit JSON
- 20. Bootstrap - AutoComplete mit TagsEingabe
- 21. JQuery Autocomplete mit ASP.Net
- 22. Lesen von Kontakten ohne Erlaubnis?
- 23. Material-u Autocomplete doppelte Schlüssel Warnung
- 24. So synchronisieren Sie Telefonkontakte in Google Mail mithilfe von Google-Kontakten mithilfe von Google-Kontakten api
- 25. GridView mit TextView in LinearLayout
- 26. Multiline TextView mit Breite "wrap_content"
- 27. RadioButtons mit TextView in RadioGroup
- 28. Mit GTK TextView rückgängig machen
- 29. Absatzabstände mit SpannableStringBuilder in TextView
- 30. Warum TextView schneidet mit ScrollView?
Bitte einige Code schreiben, damit wir Ihnen helfen können, besser –
diesen Beitrag http lesen: // stackoverflow.com/questions/11879078/search-list-in-our-application-in-android/11879375#11879375 dies wird Ihnen helfen – Akshay