Necesitamos tu apoyo para difundir nuestras reseñas sobre las ciencias informáticas.
Solución:
Dos caminos:
-
Anular
toString()
enStudent
clase y hacer que regresename
. Puede obtener el objeto que se seleccionó con el siguiente código:public static class Student private String name; public Student(String name) this.name = name; @Override public String toString() return name; AutoCompleteTextView tv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1); final ArrayList
list = new ArrayList (); list.add(new Student("Viru")); list.add(new Student("Gauti")); ArrayAdapter adapter = new ArrayAdapter ( this, android.R.layout.simple_dropdown_item_1line, list); tv.setAdapter(adapter); tv.setOnItemClickListener(new OnItemClickListener() @Override public void onItemClick(AdapterView> arg0, View arg1, int arg2, long arg3) Student selected = (Student) arg0.getAdapter().getItem(arg2); Toast.makeText(MainActivity.this, "Clicked " + arg2 + " name: " + selected.name, Toast.LENGTH_SHORT).show(); ); -
Implementar un adaptador personalizado (extendiendo
BaseAdapter
clase oArrayAdapter
clase) Consulte este tutorial: http://www.ezzylearning.com/tutorial.aspx?tid=1763429
Puedes usar un AbstractList
para obtener el String
representación de cada elemento en su lista de objetos.
private void setupAutoComplete(AutoCompleteTextView view, List objects)
List names = new AbstractList()
@Override
public int size() return objects.size();
@Override
public String get(int location)
return objects.get(location).getName();
;
view.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, names));
Comentarios y valoraciones de la guía
Puedes añadir valor a nuestra información participando con tu experiencia en las interpretaciones.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)