2011-09-03 5 views
0

J'ai un AutoCompleteTextView qui utilise un ArrayAdapter<android.location.Address> comme Adapter.Résultat de AutoCompleteTextView dans Android

Procédé getView de l'adaptateur est itérer sur AddressgetAddressLine(i) et la construction d'un String pour régler le View avec. Le problème est une fois que l'utilisateur clique sur une suggestion, le toString() de Address est entré au lieu de mon String. Comment puis-je changer ce comportement?

This is where it's happening, mais je ne sais pas comment le changer. Here it is suggesting to subclass?

Répondre

0

Sur la ligne 839, vous appelez mFilter.convertResultToString (selectedItem); c'est pourquoi vous obtenez le toString() de l'adresse. Si vous voulez entrer la chaîne dans votre vue, vous devez renvoyer la valeur utilisée dans votre vue à partir de cette méthode.

Address address = (Address) selectedItem; 
return address.getAddressLine(i); 
+0

C'est une solution, mais je voulais savoir si je pouvais retourner l'adresse elle-même plutôt que la chaîne, puis l'ai rendu. Cet objet (pourrait) avoir des méta-données supplémentaires qui sont importantes, que vous ne voulez pas que l'utilisateur voie. – Ryan

+0

Voyant que c'est un AutoCompleteTextView, je pense qu'il retournerait toujours une chaîne. Je pense que vous devrez utiliser la sous-classe dans ce cas. –

Questions connexes