À l'aide d'une liste personnalisée de l'adaptateur avec le AutoCompleteTextView et conservant la fonctionnalité de l'auto de travail complet de la même
Donc, dire que j'utilise la suite de l'adaptateur pour AutoCompleteTextView:
public class RosterAdapter extends ArrayAdapter<Player> {
...
}
C'est à l'aide d'un objet appelé Lecteur, où en tant que par défaut AutoCompleteTextView fonctionne avec une Chaîne.
La liste s'affiche bien lorsque j'utilise la coutume, mais le seul problème que j'ai c'est quand je commence à taper quelque chose, il n'affiche pas les bonnes choses.
Par exemple, si je commence à taper bo
, je m'attends personnes avec le nom Bob Henderson
, Garry Bobrinski
, etc..
Mais ce qui arrive est de la même liste, ce qui ne semble pas à la matière ce que j'type au hasard.
Puis-je pas utiliser un objet personnalisé pour que cela fonctionne? Dois-je utiliser une Corde pour qu'il corresponde à l'entrées correctement? Ou est-il d'une certaine manière je peux regarder une chaîne spécifique pour chacune des entrées?
* Mise à jour *
Y a plus de code, c'est comment j'ai réglé la coutume adaptateur RosterAdapter
. Cela fonctionne, mais la saisie semi-automatique aspect de ce qui ne fonctionne pas correctement. C'est presque comme si ça devient confus et ne sait pas quoi chercher dans l'objet, de faire correspondre les caractères saisis.
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_players);
RosterAdapter adapter = new RosterAdapter(RosterActivity.this, R.layout.roster_row, players);
textView.setAdapter(adapter);
C'est à l'aide d'un générique ArrayAdapter, et cela fonctionne bien pour la correspondance des entrées:
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_players);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(RosterActivity.this, R.layout.players_autocomplete, players);
textView.setAdapter(adapter);
OriginalL'auteur xil3 | 2011-05-24
Vous devez vous connecter pour publier un commentaire.
Il est difficile de dire à coup sûr, sans aucun code, mais je crois que vous pourriez ne pas être mise en œuvre
getFilter()
pour votre laisser l'utilisation de l'adaptateur de laPlayer
objets comme des chaînes de caractères.Pour un exemple (sans exigence, mais même filtre), voir: Comment puis-je Utiliser AutoCompleteTextView et de le remplir avec des données à partir d'une API web?
Il y a un autre exemple ici: http://www.sacoskun.com/2008/08/autocompletetextview-with-simpleadapter.html
getFilter()
Quel a été le travail? Je suis de me gratter la tête avec ce problème dès maintenant. La chose étrange est que la liste contient de faux résultats quand je commence à taper, mais Si si retour, il commence à se comporter de (!)
OriginalL'auteur Aleadam