IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

Un champs text "autocompletion" dans l'ArrayAdapter d'une ListView dynamique


Sujet :

Composants graphiques Android

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Points : 56
    Points
    56
    Par défaut Un champs text "autocompletion" dans l'ArrayAdapter d'une ListView dynamique
    Bonjour =)

    J'avais mis en place il y a quelques semaines la création de formulaires dynamiques sur mon appli. Donc un bouton permet d'ajouter un nouveau formulaire qui est ensuite enregistré dans une base de données, tous ça marche parfaitement.

    Dans mon formulaire se trouve un EditText et je souhaiterai que ce dernier gère l'autocomplétion.

    Donc en farfouillant sur la toile j'ai pu trouver le "AutocompleteTextView" qui semble nickel pour mon cas. Mais en remplaçant mon EditText par un AutocompleteTextView dans mon xml et dans mon custom ArrayAdapter l'autocomplétion ne fonctionne pas (je n'ai pas oublié le setAdapter, ...et pire même , je me retrouve avec un bug sur mon smartphone que je ne rencontre pas sur l'émulateur..

    Si j'entre du texte dans mon champs sur mon smartphone et que je quitte le focus de mon AutoCompleteTextView. Le text saisie dans ce dernier disparait, et lorsque je reclic dans mon AutoCompleteTextView (donc lorsque je reprend le focus), le texte que j'avais saisi réaparait x)

    Donc j'ai juste modifié l'EditText par l'AutoCompleteTextView pour tester..et le bug évoqué au dessus apparait à partir des "simples" changement que j'ai fais. Plus de détail en dessous :

    Le code avec l'EditText (qui fonctionne nickel dans ce cas..mais sans l'autocomplétion)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    public class Adaptor_espece_item extends ArrayAdapter<Donnees_espece>{
        ...
        public View getView(final int position, View convertView, ViewGroup parent) {
        View view = null;
        if (convertView == null){
            ViewHolder.nom = (EditText)view.findViewById(R.id.slide_espece_nom);
            ViewHolder.nom.addTextChangedListener(new TextWatcher() {
                ...
            });
            ...    
            view.setTag(ViewHolder);
            ViewHolder.nom.setTag(liste.get(position));
        }else{
            view = convertView;
            ((Holder)view.getTag()).nom.setTag(liste.get(position));
            ...
        }
        Holder holder = (Holder)view.getTag();
        holder.nom.setText(liste.get(position).getT_nom());
        ...
        return view;
    }
     
    static class Holder{
        EditText nom;
        ...
    }
    Et la mes modfis pour essayer d'utiliser un AutoCompleteTextView à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        if (convertView == null){
            ViewHolder.nom = (AutoCompleteTextView)view.findViewById(R.id.slide_espece_nom);
            ...
     
    static class Holder{
        AutocompleteTextView nom;
        ...
    }
    Où se situe le soucis ? une mécanimque m'échape? il y a un rituel à suivre en plus avec un AutoCompleteTextView ? la vue AutoCompleteTextView n'est peut être pas le plus adapté dans mon cas de figure (listeview dynamique..), quelle serait la meilleur solution alors ?

    Je peux peut être arriver à mes fins grace au TextWatcher de mon EditText, mais je ne saurais pas trop par ou commencer..

    En vous remerciant =)

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    petite byzarerie..il s'agirait d'un bug pour le coup du AutoCompleteTextView.
    Il m'a suffit de rajouter un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:textColor="@android:color/primary_text_light"
    Bon, je n'ai pas encore résolé l'autocomplétion...je ne ferme pas encore le sujet

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/08/2008, 09h25
  2. Réponses: 9
    Dernier message: 09/01/2007, 11h06
  3. [jtable] Champs texte sur pls ligne dans cellule
    Par doudine dans le forum Composants
    Réponses: 8
    Dernier message: 17/11/2005, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo