MetBo
Erfahrenes Mitglied
- 4
Hallo,
ich benutze eine AutoCompleteTextView um bei Eingabe den Kontakt unter Kontakte zu suchen und ggf. die Eingabedaten zu vervollständigen.
Aufruf:
Funktion getAlleKontaktTeleNr:
Der Code funktioniert in der Hinsicht, dass wenn ich die Telefonnummer eingebe, dass dann der Kontakt gefunden wird, aber nicht anders herum.
Mein Problem: Ich möchte, dass der Benutzer den Namen des Kontaktes eingibt und im DropDown steht der Kontaktname + Telenr. Beim Anklicken der Dropdown erscheint aber nur die Telenr des Kontaktes in dem Textfeld und nicht Name+Nr.
Was muss ich ändern, damit ich die Lösung bekomme?
Danke
ich benutze eine AutoCompleteTextView um bei Eingabe den Kontakt unter Kontakte zu suchen und ggf. die Eingabedaten zu vervollständigen.
Aufruf:
Code:
mTxtEmpfaenger = (AutoCompleteTextView) findViewById(R.id.txtEmpfaenger);
ArrayAdapter<String> contacts = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, getAlleKontaktTeleNr());
mTxtEmpfaenger.setAdapter(contacts);
Funktion getAlleKontaktTeleNr:
Code:
private List<String> getAlleKontaktTeleNr() {
List<String> contacts = new ArrayList<String>();
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCursor = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
new String[]{contactId}, null);
while (pCursor.moveToNext()) {
String phoneNumber = pCursor.getString(pCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
System.out.println(phoneNumber + displayName);
contacts.add(phoneNumber + " (" + displayName + ")");
}
pCursor.close();
}
}
}
return contacts;
}
Der Code funktioniert in der Hinsicht, dass wenn ich die Telefonnummer eingebe, dass dann der Kontakt gefunden wird, aber nicht anders herum.
Mein Problem: Ich möchte, dass der Benutzer den Namen des Kontaktes eingibt und im DropDown steht der Kontaktname + Telenr. Beim Anklicken der Dropdown erscheint aber nur die Telenr des Kontaktes in dem Textfeld und nicht Name+Nr.
Was muss ich ändern, damit ich die Lösung bekomme?
Danke