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

Android Discussion :

[TextWatcher] Méthode afterTextChanged n'est pas appelé à tout les changements


Sujet :

Android

  1. #1
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut [TextWatcher] Méthode afterTextChanged n'est pas appelé à tout les changements
    Bonjour,

    Je prendre une application android utilisant des TextWatcher. Il se trouve que la méthode "afterTextChanged" n'est pas appelé systématiquement lors de la modication du text.
    Par exemple si je tape rapidement blouse :
    1. afterTextChanged est appelé après l'entré de la première lettre "b".
    2. Mais pas pour l'ensemble des autres lettres.

    Ce qui me pose problème, car ce TextWatcher est présent pour réalisé un filtre sur une liste de sélection. Et filtré sur "b" à la place de "blouse" est relativement générant.

    Voici la déclaration de mon EditText correspondant :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <EditText
                android:id="@+id/search_edit_text"
                style="@style/edit_text_search"
                android:layout_width="0dip"
                android:layout_height="40dip"
                android:layout_gravity="left|center_vertical"
                android:layout_weight="1"
                android:minWidth="500dip"
                android:singleLine="true" />

    Après recherche sur le web. J'ai constaté qu'il y avait des changement de comportement en fonction du "android:inputType". Mais, je ne sais pas quel valeur je suis sensé placé pour avoir un comportement viable.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  2. #2
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Salut,
    J'utilise textwatcher pour formatter des numéros de telephones internationaux;
    Je n'ai aucun soucis similaire au tient, peux importe la vitesse à laquelle je tape.
    J'utilise du coup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:inputType="phone"
    Je ne comprend pas bien pourquoi il y aurait des différences selon l'input (mise à part un bug).

    Tout ce que je peux te dire, c'est que sur input phone, ca fonctionne bien.
    Essaye peut être pour être plus sur de ton code ?
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Après lecture de la documentation Android, je suis tombé sur cela :
    In 1.0, the afterTextChanged(Editable) method was erroneously not called after setText(char[], int, int) calls. Now, doing setText(char[], int, int) if there are any text changed listeners forces the buffer type to Editable if it would not otherwise be and does call this method.
    Source :

    Je pense que cela est à l'origine de mon problème.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mesure qui n'est pas lié à toutes les dimension => eviter les NULL
    Par khadhraoui1 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 14/08/2014, 12h04
  2. Réponses: 4
    Dernier message: 10/04/2014, 20h10
  3. Réponses: 0
    Dernier message: 19/01/2011, 09h03
  4. Réponses: 4
    Dernier message: 06/07/2010, 23h02
  5. [AJAX] [Firefox] send n'est pas appelée tout le temps
    Par MademoiselleL dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/07/2007, 15h16

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