1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen findest du hier!!
  1. MetBo, 29.09.2010 #1
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Hallo,

    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
     
  2. BenOtto, 29.09.2010 #2
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Also ich hab deinen Code mal ausprobiert. Bei mir werden auch die Kontaktnamen angezeigt. Und wenn du zwischen Klammer und dem Namen noch ein Leerzeichen machst, dann funktioniert auch die Suche.
     
    MetBo gefällt das.
  3. MetBo, 29.09.2010 #3
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Ah ... so einfach geht es, danke dir! Manchmal blickt man durch seinen eigenen Code nicht mehr durch ... nach 6 Stunden proggen .... ^^
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Ein synchronisiertes Account dem Kontakte-Dialog als default zuweisen Android App Entwicklung 27.07.2016
Du betrachtest das Thema "AutoCompleteTextView alle Kontakte" im Forum "Android App Entwicklung",