Android edittext – selecciona el número de teléfono del contacto (con autocompletado)

¿Hay una manera de poner un elemento de EditText en el cual podría elegir el número de teléfono del contacto de mi lista de contactos. Al igual que en la aplicación genérica sms Android. (¡Complete automáticamente al escribir el número de teléfono o el nombre del contacto!).

2 Solutions collect form web for “Android edittext – selecciona el número de teléfono del contacto (con autocompletado)”

¿Ha comprobado el ejemplo de Auto completo de Android en: http://developer.android.com/resources/tutorials/views/hello-autocomplete.html

Tal vez usted puede ajustar este ejemplo para agregar su lista de contactos.

La respuesta de Hakan es buena, pero está relacionada con el uso del Cursor. En general, puede escribir su propio adpater, por ejemplo extendiendo el ArrayAdapter. En mi aplicación, el adaptador tenía que hacer un montón de "cosas extrañas" como buscar en db, a continuación, volver a filtrar los cursores, añadir otros resultados, cambiar otros … Hice algo como esto:

 public class MyAdapter extends ArrayAdapter { private List<String> mObjects; //the "strange Strings" private MyHelper dbHelper; // an helper to make query private MyFilter mFilter; // my personal filter: this is very important!! private final Object mLock=new Object(); //functions very similar to the ArrayAdapter implementation @Override public int getCount() { return mObjects.size(); } @Override public Filter getFilter() { if (mFilter==null) { mFilter=new TeamFilter(); } return mFilter; } @Override public String getItem(int position) { return mObjects.get(position); } @Override public int getPosition(String item) { return mObjects.indexOf(item); } //the trick is here! private class MyFilter extends Filter { //"constraint" is the string written by the user! @Override protected FilterResults performFiltering(CharSequence constraint) { FilterResults results=new FilterResults(); //no constraint => nothing to return if ((constraint==null)||(constraint.length()==0)) { synchronized (mLock) { ArrayList<String> list=new ArrayList<String>(); results.values=list; results.count=list.size(); } } else { String constr=constraint.toString(); mObjects= // do what you want to do to populate you suggestion - list //( I call the db and change some values) results.values=mObjects; results.count=mObjects.size(); } return results; } @Override protected void publishResults(CharSequence constraint, FilterResults results) { if (results.count>0) { notifyDataSetChanged(); } else { notifyDataSetInvalidated(); } } } } 
  • Recuperar el apodo del contacto
  • Leer todos los números de teléfono del contacto en android
  • Consultar contactos con datos parciales
  • Cómo agregar un contacto con nombre y apellido por intención
  • Cómo obtener contactos que se utilizan en whatsapp u otra aplicación en android
  • ¿Cómo obtener los contactos de un grupo de WhatsApp en Android?
  • ¿Cómo actualizar el correo electrónico, dirección, apodo, etc de un contacto en Android?
  • cómo combinar DISPLAY_NAME y NUMBER en un CursorAdapter personalizado?
  • Extraer el código del país del número de móvil
  • Cómo eliminar el contacto duplicado de la lista de contactos en android
  • ¿Hay una manera simple de comprobar si un llamante entrante es un contacto en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.