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. comma separado autocompletar con jquery autocompletar
- 6. Deshacer con GTK TextView
- 7. TextView con diferente textSize
- 8. Ejecución Autocompletar con ListView en Android
- 9. No puedo buscar contactos con cuentas de gmail sincronizadas
- 10. TextView y Ellipsize cuando lo aprieto con otra TextView
- 11. jQuery autocompletar con imágenes
- 12. Ckeditor con autocompletar?
- 13. jQuery Autocompletar con JSON
- 14. RadioButtons con TextView en RadioGroup
- 15. SimpleCursorAdapter con ImageView y TextView
- 16. AddressBook Crash, solo con algunos contactos
- 17. Obtención de contactos de Outlook con Python
- 18. Confirmar UITextview autocompletar
- 19. OAuth frente a contactos portátiles para importar contactos
- 20. Prueba autocompletar con Selenium webdriver
- 21. jQuery UI autocompletar con JSON
- 22. editor de código con autocompletar
- 23. jQuery UI Autocompletar con categorías
- 24. Levante - Autocompletar con Ajax Envío
- 25. Editor de lugar con autocompletar
- 26. ¿Cuál es la diferencia en contactos versus contactos sin formato?
- 27. Selector de contactos de Android con casilla de verificación
- 28. Solr jQuery Autocompletar no autocompletar
- 29. Android Lista de contactos
- 30. cuántos contactos hay en la lista de contactos
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