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(); } } } } 
  • ¿Cómo saber el WiFi conectado es Walled Gardened (Captive Portal)?
  • Cómo obtener contactos favoritos en Android
  • ¿Cómo saber qué contacto específico se actualizó en android?
  • Cómo obtener todos los detalles de un contacto en Android
  • Android: ¿Cómo obtener la identificación de contacto por el número de teléfono?
  • Android: ¿Comprobar el número de teléfono presente en la Lista de contactos? (Número de teléfono recuperado de una llamada telefónica)
  • ¿Cómo llamar a la lista de contactos de Android?
  • Mostrar el icono de la aplicación si el contacto está asociado con la aplicación en la libreta de direcciones del teléfono
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.