Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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(); } } } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.