Necesito mostrar un cuadro de texto autocompletar que básicamente cargará los correos electrónicos de los contactos. Lo he probado usando un adaptador personalizado pero nada se llena en el cuadro de texto. Sin sugerencias en absoluto. Cualquier solución será muy útil.Autocompletar TextView con contactos
5
A
Respuesta
9
Pruebe lo siguiente:
ArrayList<String> emailAddressCollection = new ArrayList<String>();
ContentResolver cr = getContentResolver();
Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, null, null, null);
while (emailCur.moveToNext())
{
String email = emailCur.getString(emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
emailAddressCollection.add(email);
}
emailCur.close();
String[] emailAddresses = new String[emailAddressCollection.size()];
emailAddressCollection.toArray(emailAddresses);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, emailAddresses);
AutoCompleteTextView textView = (AutoCompleteTextView)findViewById(R.id.YOUR_TEXT_VIEW);
textView.setAdapter(adapter);
}
Nota: No se olvide de agregar el permiso READ_CONTACTS
a su Manifest.xml:
<uses-permission android:name="android.permission.READ_CONTACTS" />
+0
¡¡¡Estoy haciendo algo similar AQUÍ !! stackoverflow.com/questions/12854336/autocompletetextview-backed-by-cursorloader – toobsco42
0
@Korhan sin duda es una manera elegante de lo mucho lo que descubrí. Mi código funciona, pero @ Korhan es mucho más simple. Gracias. He creado esta clase adaptador personalizado para la lectura de los contactos
class ContactListAdapter extends CursorAdapter implements Filterable {
private ContentResolver mCR;
public ContactListAdapter(Context context, Cursor c,boolean a) {
super(context, c, true);
mCR = context.getContentResolver();
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
((TextView) view).setText(cursor.getString(1));
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final LayoutInflater inflater = LayoutInflater.from(context);
final TextView view = (TextView) inflater.inflate(android.R.layout.simple_dropdown_item_1line, parent, false);
view.setText(cursor.getString(1));
return view;
}
@Override
public String convertToString(Cursor cursor) {
return cursor.getString(1);
}
public Cursor runQueryOnBackgroundThread(CharSequence constraint) {
if (getFilterQueryProvider() != null) {
return getFilterQueryProvider().runQuery(constraint);
}
StringBuilder buffer = null;
String[] args = null;
if (constraint != null) {
buffer = new StringBuilder();
buffer.append("UPPER(");
buffer.append(ContactsContract.CommonDataKinds.Email.ADDRESS);
buffer.append(") GLOB ?");
args = new String[] { constraint.toString().toUpperCase() + "*" };
}
return mCR.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,CreateEventActivity.PEOPLE_PROJECTION ,buffer == null ? null : buffer.toString(), args,
null);
}
}
y la actividad principal:
MultiAutoCompleteTextView act = (MultiAutoCompleteTextView)findViewById(R.id.attende_list);
ContentResolver content = getContentResolver();
Cursor cursor = content.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,PEOPLE_PROJECTION, null, null, null);
ContactListAdapter adapter = new ContactListAdapter(this, cursor, true);
act.setThreshold(0);
act.setAdapter(adapter);
act.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
Cuestiones relacionadas
- 1. Android Autocompletar TextView ancho desplegable
- 2. cómo obtener texto de autocompletar textview android
- 3. Autocompletar TextView con Asynctask y servicio web en Android 4
- 4. Algoritmo para los contactos más recientes/a menudo para autocompletar?
- 5. Android: Autocompletar TextView similar a la aplicación de Facebook
- 6. comma separado autocompletar con jquery autocompletar
- 7. TextView con diferente textSize
- 8. Deshacer con GTK TextView
- 9. Ejecución Autocompletar con ListView en Android
- 10. No puedo buscar contactos con cuentas de gmail sincronizadas
- 11. TextView y Ellipsize cuando lo aprieto con otra TextView
- 12. Ckeditor con autocompletar?
- 13. jQuery autocompletar con imágenes
- 14. jQuery Autocompletar con JSON
- 15. SimpleCursorAdapter con ImageView y TextView
- 16. RadioButtons con TextView en RadioGroup
- 17. Obtención de contactos de Outlook con Python
- 18. AddressBook Crash, solo con algunos contactos
- 19. Confirmar UITextview autocompletar
- 20. OAuth frente a contactos portátiles para importar contactos
- 21. editor de código con autocompletar
- 22. Levante - Autocompletar con Ajax Envío
- 23. Prueba autocompletar con Selenium webdriver
- 24. jQuery UI autocompletar con JSON
- 25. jQuery UI Autocompletar con categorías
- 26. Editor de lugar con autocompletar
- 27. ¿Cómo elegir contactos solo desde contactos de google (no Facebook, etc.) con números de teléfono?
- 28. ¿Cuál es la diferencia en contactos versus contactos sin formato?
- 29. Selector de contactos de Android con casilla de verificación
- 30. Solr jQuery Autocompletar no autocompletar
Por favor, publicar algunos de su código, de modo que podamos ayudarle mejor –
leer este post http: // stackoverflow.com/questions/11879078/search-list-in-our-application-in-android/11879375#11879375 esto te ayudará – Akshay